浅谈布局优化——防止过度嵌套

Android借助displaylist将布局输出为能够显示的图像,布局优化的很重要的一个点是防止过度嵌套,有如下几个点

1.使用RelativeLayout替代LinearLayout

LinearLayout虽然使用上比较方便,能够写出比较整齐的布局,但是如果布局太复杂就会导致嵌套过多,引起性能问题,所以对于复杂的布局要尽量减少LinearLayout的使用,尤其是子布局

2.include+merge

把需要重复使用的布局抽离出来成一个布局文件,最外层使用merge标签代替layout,可以减少层级

3.ViewStub

viewstub是view的子类,轻量级View, 隐藏的,没有尺寸的View,可以用来在程序运行时简单的填充布局文件

4.ConstaintLayout

新版本API添加的,但是会有低版本适配的问题

当然,布局优化也是要结合实际情况来做的,对于比较复杂,控件元素较多的布局就需要合理的优化,而对于一些简单的,控件元素少的布局,也不需要做过多关注,初始创建的时候写好布局就可以了

displaylist参考资料:https://www.jianshu.com/p/7bf306c09c7e

你可能感兴趣的:(浅谈布局优化——防止过度嵌套)