Android性能优化调研——UI布局优化

Android性能优化调研——UI布局优化:

关于Android性能优化文章请参照:http://mp.weixin.qq.com/s?__biz=MzIwNjQ1NzQxNA==&mid=2247483802&idx=1&sn=baaf65910acfa1aebe20a727daeb9877&scene=21#wechat_redirect


UI布局优化:主要的思路是减少布局层级嵌套,在布局上多使用include,merge,viewstub这些标签。

include标签:如果一个项目中需要用到相同的布局设计,每个地方都需要把相同的布局再画一遍,这种情况可以把共同的布局写到一个xml中,在用的地方,使用<include/>标签。
Merge标签:减少视图层级结构

Viewstub:和<include>标签的作用类似,主要是为了提高布局的重用性,及布局的模块化。它们之间最大的差别是,ViewStub中的布局不会随着它所在布局的渲染而渲染,而<include>标签中的布局会随着它所在布局的渲染而渲染,ViewStub中的布局只有在你需要的时候才会渲染到主界面中。

使用GPU过渡绘制检测当前APP的UI设计是否合理,显示过渡绘制区域的步骤如下:“开发者选项”→点击“调试GPU 过渡绘制”→点击“显示过渡绘制区域”,一旦使能,对设备中的任何应用都有效。

过渡绘制:即当前像素点绘制的次数。这就像小时候我们画画,白纸就是没有绘制的画板,如果我们画了一个房子,涂上了红色,又在上面画了窗户,图上了棕色,窗户上又画了蓝色的玻璃,这重重复的叠加就是过度绘制,在白纸上的结果是,过度绘制的区域纸会被水笔浸的比较湿,在手机上就会出现显示较慢。

调试GPU过渡绘制(Visualize GPU Overdraw):过渡绘制用于检测你的程序是否存在不必要的绘制(举个栗子:同一个区域存在多个视图,刷新的时候被遮挡的视图也在绘制),导致显示时的性能问题,它可以帮助开发者解决如下问题:
  (1)找出应用中哪些地方存在不必要的渲染;
  (2)帮助开发者发现哪些地方可以减少渲染,提高程序运行效率;
   
Android通过不同颜色来区分同一个区域绘制的次数,颜色越深,表示过渡绘制的次数越多,过渡绘制越严重。

过渡绘制指的不是嵌套层级的越多就会检测出问题,即:将一个textView嵌入两个RelativeLayout,即三层嵌套,不描绘RelativeLayout背景色的话,是不会出现过渡绘制。它主要指的是当前这个像素单元格被描绘多次!


显示GPU过度绘制过度绘制后手机会出现不同颜色:
红色:代表4倍的绘制
粉色:代表3倍的绘制
绿色:代表2倍的绘制
绿色:代表1倍的绘制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值