1、五种布局方式的使用频率(由高到低)
RelativeLayout(相对布局)
LinearLayout(线性布局)
FrameLayout(帧布局)
TableLayout(表格布局)
AbsoluteLayout(绝对布局)
最后两种布局方式是最常用到的,基本上所有的Activity中很难摆脱这两种布局方式。
2、Android布局原则
尽量多使用LinearLayout(线性布局)和RelativeLayout(相对布局),不要使用AbsoluteLayout(绝对布局);
在布局层次一样的情况下,建议使用LinearLayout(线性布局)代替RelativeLayout(相对布局),因为LinearLayout的性能稍高一些;
将可复用的组件抽取出来通过include标签使用;
使用ViewStub标签来加载一些不常用的布局;
使用merge标签来减少布局的嵌套层次。
3、< include /> 的使用
作用:将共用的组件抽取出来单独放到一个xml文件中,然后使用include标签导入共用布局。
效果:提高UI的制作和复用效率,也能保证制作的UI布局更加规整和易维护。
使用:<include layout="@layout/xxxx" />
4、使用merge合并UI布局
作用:合并UI布局,使用该标签能减低UI布局的嵌套层次
使用场景:布局根节点是FrameLayout且不需要设置background或padding等属性,可以用merge代替;某布局作为自布局被其他布局include时,使用merge当做该布局的顶结点,这样在被引入时顶结点会被自动忽略。
5、使用ViewStub进行惰性加载
作用:ViewStub标签同include标签一样可以用来引入一个外部布局,不同的是,ViewStub引入的布局默认不会扩张,既不会占用显示也不会占用位置,从而在解析Layout时节省CPU和内存。