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