Android merge减少布局层级

作者: TryEnough | 来源:发表于2019-01-25 18:28 被阅读29次

原文链接

更多教程


你将学到

1.merge 标签的 使用方法
2.merge 标签的 使用注意点
3.merge 标签的 使用例子

merge标签介绍

在使用 include标签将布局导入其他布局时,可能引入冗余的布局层次,会造成性能损耗。例如:

layout2.xml 文件被引入到 layout1.xml的例子:

//layout2.xml 文件

<FrameLayout>
   <Button />
</FrameLayout>
//layout1.xml 文件

<FrameLayout>
   <include layout="@layout/layout2"/>
</FrameLayout>

此时,在layout1中的结构是这样的:

<FrameLayout>
   <FrameLayout> // 冗余的布局层级
      <Button />
   </FrameLayout>
</FrameLayout>

产生了 冗余的布局层级(不需要的 FrameLayout),为了去掉这个多余的布局,可以使用 merge标签。将layout2.html替换成这样:

//layout2.html

<merge>
   <Button />
</merge>

使用merge标签时的“注意点”

  • 1.merge必须放在布局文件的根节点上

  • 2.merge的布局会受到外部布局类型的影响,造成展示错位
    例如:merge标签中使用了 android:layout_below时,当外部父标签是LinearLayout时,就会失效。

原文链接

更多教程

相关文章

  • Android merge减少布局层级

    原文链接 更多教程 你将学到 1.merge 标签的 使用方法2.merge 标签的 使用注意点3.merge 标...

  • Merge 标签与布局优化

    标签可以减少布局层级, 从而起到优化布局的作用. 因为布局太过复杂, 层级嵌套太深将会导致绘制操作...

  • Android性能优化---笔记

    1-布局优化 尽量减少布局的层级删除布局中的无用控件和层级 使用性能较低的ViewGroup、 ,标...

  • 再次拾起merge,include,viewStub

    减少视图层级 merge主要是进行UI布局的优化的,删除多余的层级,优化UI。多用于替换fr...

  • 布局优化include, viewstub, merge

    布局优化 1.include 视图引入,可以配合merge使用重用布局 2.merge 减少视图层级步骤如下:1、...

  • Android 性能优化

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

  • Android merge标签

    当界面的跟布局为FrameLayout时,使用merge代替FrameLayout可以减少布局的层级,因为Cont...

  • Android性能优化

    15.1.1 布局优化 标签:减少代码量 标签:一般和 标签一起使用从而减少布局的层级。

  • 性能优化方方面面

    布局优化 减少布局嵌套层级 merge 标签使用 ViewStub延迟加载 Overdraw有时候是因为你的UI布...

  • Android性能优化-布局优化

    一、删除无用控件和层级 布局优化的思想很简单,就是尽量减少布局文件的层级,布局层级少了,那么Android绘制时的...

网友评论

    本文标题:Android merge减少布局层级

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