• 【Android学习】Merge 优化布局


     
    <merge />标签用于减少View树的层次来优化Android的布局
     
    新建项目,不需要改动
     
    运行后使用“DDMS -> Dump View Hierarchy for UI Automator”工具,得到结果
    最下面两层RelativeLayout与TextView就是activity_main.xml布局中的内容,上面的FrameLayout是Activity setContentView添加的顶层视图。下面使用merge标签可以查看下区别
    只需要把RelativeLayout改成Merge即可
     
    FrameLayout下面直接就是TextView,与之前的相比少了一层RelativeLayout而实现的效果相同。

    什么情况考虑使用Merge标签?

    一种是向上面的例子一样,子视图不需要指定任何针对父视图的布局属性,例子中TextView仅仅需要直接添加到父视图上用于显示就行。

    另外一种是假如需要在LinearLayout里面嵌入一个布局(或者视图),而恰恰这个布局(或者视图)的根节点也是LinearLayout,这样就多了一层没有用的嵌套,无疑这样只会拖慢程序速度。而这个时候如果我们使用merge根标签就可以避免那样的问题,官方文档 Android Layout Tricks #3: Optimize by merging  中的例子演示的就是这种情况。

    注意: <merge />只能作为XML布局的根标签使用。当Inflate以<merge />开头的布局文件时,必须指定一个父ViewGroup,并且必须设定attachToRoot为true。

  • 相关阅读:
    构建git+gerrit+repo的Android代码服务器
    简单学习:repo入门
    git checkout 命令详解
    python学习第一天
    window下的git工具msysgit的使用
    git基本操作
    echarts 使用示例
    管道命令
    jquery修改文档结构
    JavaScript正则表达式
  • 原文地址:https://www.cnblogs.com/six-moon/p/4651062.html
Copyright © 2020-2023  润新知