我们在写android xml布局文件时,有时候会产生多余的view树节点,当android进行解析时,多余的view节点会导致解析时间加长,进而导致
页面跳转变慢,变的卡顿。怎样避免这种情况呢?我们可以通过hierarchyviewer去查看布局文件的view 节点树,根据这个节点树利用merge
标签优化掉多余的节点。下面我们就使用一个例子来掩饰怎样使用merge标签来优化布局文件。
首先我们来说一下merge的特点:
1、merge标签只能用于xml layout文件的根元素
2、如果将一个以merge标签为根元素的xml文件作为布局文件的话,那么需要使用inflate (int resource, ViewGroup root, boolean attachToRoot)
指定一个ViewGroup 作为其容器,并且要设置attachToRoot 为true。
好了我们以两个不同的布局文件来对比使用merge标签后,view树的变化。例子是这样的:我自定义了一个view,然后定义了这个view的布局文
件,然后在Activity的布局中引用这个view,我们就使用merge来优化这个view的布局文件。
view的布局xml代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_heig