概述
Android 官方提供了三个用来优化布局的标签,分别是include、merge与ViewStub标签。
include布局重用
app开发过程中,会遇到不同页面里有相同的布局,这时我们可以将这些通用的布局提取出来到一个单独的layout
文件里,再使用<include>
标签引入到相应的页面布局文件里,主要通过include
的layout
属性引用。
merge减少视图层级
merge
标签可用于减少视图层级来优化布局,可以配合include
使用,如果include
标签的父布局 和 include
布局的根容器是相同类型的,那么根容器的可以使用merge
代替。
页面布局
ViewStub按需加载
按需加载 顾名思义需要的时候再去加载,不需要的时候可以不用加载,节约内存使用。通常情况我们会使用setVisibility
方法来控制视图的显示和隐藏,但是这种情况视图已经加载了。
比如app中页面里某个布局只需要在特定的情况下才显示,其余情况下可以不用加载显示,这时候可以使用ViewStub
。
总结
-
使用include标签可以增加布局的复用性,提高效率。
-
使用merge标签可以减少视图树中的节点个数,加快视图的绘制,提高UI性能。
-
merge标签的使用,看上去一次只减少一个节点,但是当一个布局嵌套很复杂的时候,节点的个数可能达到几百个,这个时候,如果每个地方都多一个节点,视图的绘制时间相应的也就变长了很多。
-
UI性能的优化还有另外一个比较重要的知识点ViewStub,它是一个View,但是它几乎不占用资源,使用ViewStub能够加快视图的绘制,提高性能。
相关参考
https://zhuanlan.zhihu.com/p/38439099
最后
以上就是苹果龙猫为你收集整理的Android 布局优化官方方案的全部内容,希望文章能够帮你解决Android 布局优化官方方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复