Android成长日记-Android布局优化
Android常用布局
1. LinearLayout(线性布局)
2. RelativeLayout(相对布局)
3. TableLayout(表格布局)
4. AbsoluteLayou(绝对布局)
5. FrameLayout(帧布局)
低--------------使用量------------------à高
4->3->5->1->2
Android布局原则
(1) 尽量多使用LinearLayout和RelativeLayout,不要使用AbsoluteLayout
(2) 在布局层次一样的情况下,建议使用LinearLayout代替RelativeLayout,因为LinearLayout性能要稍高一些
(3) 将可复用的组件抽出来并通过include便签使用
(4) 使用ViewStub标签来加载一些不常用的布局
(5) 使用merge便签减少布局的嵌套层次
Eg:
(一) <include/>的使用
作用:将共同的组件抽取出来单独放在一个xml文件中,然后使用include标签导入共同布局
效果:提高UI的制作和复用效率,也能保证制作的UI布局更加规整和易维护
Op:<include layout=”@layout/common_title”/>
在布局文件中引入这个相同的布局即可
(二) 使用merge合并UI布局
作用:合并UI布局,使用该标签能降低UI布局的嵌套层次
场景:1.布局根节点是FrameLayout且不需要设置background或padding等属性,可以使用merge代替
2.某布局作为子布局被其他布局include时,使用merge当做该布局的顶节点,这样再被引入时顶节点会自动被忽略
(三) 使用ViewStub惰性加载
作用:ViewStub标签同include标签一样可以用来引入一个外部布局,不同的是,ViewStub引入的布局默认不会扩张,既不会占用显示也不会占用位置,从而在解析Layout时节省cpu和内存