关于安卓布局优化的几点建议

从google安卓官方文档中学了安卓布局优化的相关知识,现总结几点分享给大家:

1.能不用LinearLayout就尽量不要用,可以用RelativeLayout代替。因为LinearLayout是一种嵌套布局,很多情况下需要通过层层嵌套才能实现我们想要的效果,而在安卓中布局嵌套越多在view绘制的时候会增加遍历次数,对性能的影响就越大

2.布局要尽量设计成矮而宽,避免出现高而窄的布局。原因也是因为布局越深就说明嵌套越多,对性能的影响就越大

3.父布局的宽和高能设置成固定值或者match-parent就尽量设置成这样,因为这样在测量尺寸时只需要测量一次。如果设置成wrap-content那么在对父布局进行测量时会先测量其子View的尺寸,测量过程中子View的尺寸可能会动态变化,这样就造成了父布局的尺寸需要多次被测量,影响性能

4.把通用的布局抽出来通过include包含到指定的布局。这样可以实现布局的复用,既可以提高布局性能,也有利于以后的维护。用include时候需要注意,如果想重写被包含布局的layout属性必须在include标签内重写layout_width和layout_height属性,这样重写其它layout属性才有效。

5.如果include标签的外层不是根布局的话,那么被包含布局需要用merge实现,这样可以减少一层嵌套。用merge实现的布局被include包含后就不能重写其layout属性了(因为merge节点不是一个布局),所以这时候你想对整个被包含布局进行操作(比如设置间距),那么只能在include标签外层包一层布局(比如RelativeLayout),通过该布局来对被包含布局进行整体操作

6.通过ViewStub在需要时加载布局。如果用设置显示隐藏的方式在需要时加载布局,其实就算隐藏了也是会被加载的。通过ViewStub就可以真正实现需要时才加载布局。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值