高性能布局技巧

1、RelativeLayout和LinearLayout

 尽量多使用RelativeLayout和LinearLayout,不要使用绝对布局AbsoluteLayout。在布局层次的情况下,建议使用LinearLayout代替RelativeLayout,因为LinearLaout性能要稍高。

但,RelativeLayout可以实现 需要LinearLayout嵌套才能实现的布局。


2、include标签

在实际开发过程中,会遇到比较多的共用布局情况,比如带返回按钮的导航栏,如果为每一个xml文件都设置这部分布局,一个是重复工作量大;二是如有变更,那么每一个xml文件都得修改。

android为我们提供include标签,通过它,可以将共用的组件抽取出来单独放在xml文件,然后使用include标签导入共用布局。


3、merge标签

merge标签的作用是合并ui布局,使用该标签能降低ui布局的嵌套层次。它可用与两种情况:

布局的根节点是FrameLayout且不需要设置pandding或background等属性,可以用merge代替。因为activity内容布局的parent view就是个FrameLayout,所以可以用merge消除一个。

某布局作为子布局被其他布局include时,使用merge当作该布局的顶节点,这样在被引入时顶节点会自动被忽略,而将其子节点全部合并到主布局中。


4、viewstub标签

viewstub标签同include标签一样可以用来引入一个外部布局,不同的是,viewstub引入的布局默认不会扩张,即既不会占用显示也不会占用位置,从而在解析layout时节省cpu和内存。

       viewstub常用来引入那些默认不会显示,只在特殊情况下显示的布局,如进度布局,网络失败显示的刷新布局,信息出错出现的提示布局等。

你可能感兴趣的:(高性能布局技巧)