我们都知道,UI布局也影响着咱们App的性能,嵌套层级过多的布局在渲染时候会需要更多时间。下面就提出一些优化布局的建议:
尽量减少布局层级和复杂度
1、尽量不要嵌套使用RelativeLayout.
2、尽量不要在嵌套的LinearLayout中都使用weight属性.
3、Layout的选择, 以尽量减少View树的层级为主.
4、去除不必要的父布局.
5、善用TextView的Drawable减少布局层级
6、如果H Viewer查看层级太多, 你就需要考虑优化下布局了
善用Tag
1、<include>
使用include来重用布局.
2、<merge>
使用<merge>来解决include或自定义组合ViewGroup导致的冗余层级问题. 例如本例中的RepoItemView的布局文件实际可以用一个<merge>标签来减少一级.
3、<ViewStub>
优化工具:
1、Hierarchy Viewer
2、Lint tool
3、开发者选项:显示GPU过度绘制