1. 过渡绘制查看工具
在开发者选项里有一个“调试GPU过度绘制”的选项,选择“显示过度绘制区域”
这个时候APP界面上会呈现以下颜色:
(1)淡蓝色 1层
(2)淡绿色 2层
(3)淡粉色 3层
(4)粉红 4层
从上到下颜色越来越深,表示绘制过度的程度逐层加深。一般尽量优化到淡蓝色。例如微信的一个界面:
粉红色说明图层多,我们的目标是尽量减少红色,增加 淡蓝色界面。
2. 减少没有必要的背景。
android:background="@color/white"
3. 减少布局层级
2.1 分析层级的工具layout Inspector
运行起来一个APP后,然后在android studio工具栏上点击Tool --》layout inspector 就可以显示当前页面的布局层级,用于观察没有必要的嵌套,去优化它们。
2.2 优化方法
优化技巧:尽可能用1个容器,若父布局只有1个孩子布局,即该子布局没有兄弟,则可以把当前子布局与父布局合并为一个布局。
1.用Merge标签合并布局时,内部控件的位置属性根据父布局是什么类型的容器。
2.如果当前子容器有ID属性就不能合并。
3. 用RelativeLayout减少布局层级,减少没必要的嵌套; 用约束布局ConstraintLayout没的嵌套。
4. 用include标签重用布局也可以提升性能,因为CPU只需计算1次,GPU内也有include布局的缓存。