绘制性能的好坏主要影响:应用中的页面显示速度
优化方向:
- 降低View.onDraw()的复杂度
- 避免过度绘制,即布局优化
一、降低View.onDraw()的复杂度
二、布局优化
布局性能的好坏主要影响:应用中页面的显示速度
具体优化方案
1、选择耗费性能较少的布局
性能耗费低的布局 = 功能简单 = FrameLayout、LinearLayout
性能耗费高的布局 = 功能复杂 = RelativeLayout
注:
- 嵌套所耗费的性能 > 单个布局本身耗费的性能
- 即 完成需求时:宁选择 1个耗费性能高的布局,也不采用嵌套多个耗费性能低的布局
2、减少布局的层级(嵌套)
抽取公共布局时《merge》,子view定位是跟引用《merge》时的父布局有关
3、提高布局的复用性
使用 布局标签 《include》
4、减少初次测量和绘制时间
优化方案:使用 布局标签《ViewStub》 & 尽可能少用布局属性 wrap_content
所以在已知宽高为固定值时,不使用wrap_content
参考:https://www.jianshu.com/nb/21401973