Android学习之布局优化

(2016年4月6日)

1、使用<merge>合并标签,减少层级

借助Hierarchy Viewer工具,点击Open PerspectiveHierarchy Viewer工具,在左边选择要抓取界面的进程,点击Load the view hierarchy into the tree view,便可以生成下面的示例图层

截取上面的局部图分析我的优化例子

这里有些结点上只有一个child view,而且有好几层,所以布局时会影响性能,只有一个child view的布局,可以考虑在xml中用<merge>标签来代替

下面是布局改变前后

改变后,再抓取一次Hierarchy View

这样,布局层级就减少了两层。这里值得注意的是,使用merge标签,如果把布局inflate出来,inflate的时候它的parentView一定不能为空


2、使用<ViewStub>标签


小技巧:如果布局太多,搜索android:visibility="gone",布局默认为gone说明都有可能使用viewstub标签代替


性能优化参考资料:

http://stormzhang.com/android/2014/04/10/android-optimize-layout/

http://www.trinea.cn/category/perf/

https://github.com/Juude/awesome-android-performance

http://hukai.me/blog/archives/

http://yanghui.name/blog/2015/02/01/2015-1-31-ali-technical-salon/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值