美文网首页
关于布局优化 include、merge 、ViewStub

关于布局优化 include、merge 、ViewStub

作者: 一汪藏海 | 来源:发表于2017-05-17 09:02 被阅读0次

今天在看别人项目中,看到一个很有意思的标签,<merge>,出现在了布局文件中,很好奇,查了一下一下,原来这和<include>是一家子啊,啊哈哈

1.重用布局<include>

相信大家都不陌生,我们重用布局时常用的就是她,用法也很简单

                                             <include layout="@layout:titlebar"/> 

2.减少视图层级<merge>

它可以删减多余的层级,优化UI,多用于替换FrameLayout或者当一个布局包含另一个时,标签消除视图层次结构中多余的视图组。例如你的主布局文件是垂直布局,引入了一个垂直布局的include,这是如果include布局使用的LinearLayout就没意义了,使用的话反而减慢你的UI表现。这时可以使用merge优化。

3.需要时出现的viewstub

<ViewStub>标签最大的优点是当你需要时才会加载,使用他并不会影响UI初始化时的性能。各种不常用的布局想进度条、显示错误消息等可以使用该标签,以减少内存使用量,加快渲染速度。<ViewStub>是一个不可见的,大小为0的View。标签使用如下:

当你想要加载该布局时:

((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);

// or

View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();

当调用inflate()函数的时候,ViewStub被引用的资源替代,并且返回引用的view。这样程序可以直接得到引用的view而不用再次调用函数findViewById()来查找了。

注:ViewStub目前有个缺陷就是还不支持<merge>标签。

虽然只是一点小小的东西,但是还是希望对你有所帮助~~

相关文章

  • Android-性能优化

    应用体验-布局优化 使用include布局、merge标签、ViewStub视图可以使用HierarchyView...

  • Android 性能优化

    布局优化 include 标签 比如导航栏merge 标签 减少布局的层级viewstub 继承view 本身不...

  • android应用性能优化

    1. UI布局的优化 使用include,merge,ViewStub标签优化布局 尽量不存在冗余嵌套及过于复杂的...

  • Android 知识

    Android 知识随笔 1.布局优化include merge viewstub 2视频播放流程 采集 —>处理...

  • 关于布局优化 include、merge 、ViewStub

    今天在看别人项目中,看到一个很有意思的标签,,出现在了布局文件中,很好奇,查了一下一下,原来这和 是...

  • Android 性能优化(UI渲染)

    注意事项: 布局优化;尽量使用include、merge、ViewStub标签,尽量不存在冗余嵌套及过于复杂布局(...

  • Android面试宝典 - 优化篇

    一、性能优化 1. 布局优化 尽量使用include,merge,ViewStub标签避免冗余嵌套以及过于复杂的布...

  • Android 性能优化

    布局优化 include 标签。 merge 标签。 ViewStub 视图。 减少视图绘制:1.尽量避免在列表布...

  • Android 性能优化

    布局优化 include 标签。 merge 标签。 ViewStub 视图。 减少视图绘制:1.尽量避免在列表布...

  • Android抽象布局——include、merge 、View

    Android抽象布局——include、merge 、ViewStub - CSDN博客

网友评论

      本文标题:关于布局优化 include、merge 、ViewStub

      本文链接:https://www.haomeiwen.com/subject/ugnrxxtx.html