Android布局优化措施
1.尽可能减少布局的嵌套层级
可以用hierarchyviewer工具分析视图树
看看有没有没用到的布局
2.不要设置不必要的背景
3.用<include>标签复用相同的布局代码
4.使用<merge>标签减少视图层次结构
两种使用方法:
1.因为所有的Activity视图的根节点都是FrameLayout,
所以如果我们的自定义布局也是FrameLayout的时候可以用merge替换
2.当用include或者ViewStub标签从外部导入xml结构时,
可以把被导入的xml用merge作为根节点表示,
这样它被嵌入父级结构中后可以很好地将它包含的子集融合到父级结构中,
不会出现冗余的节点
<merge>只能作为xml布局的根元素
5、通过<ViewStub>实现View的延迟加载
布局如下:
<ViewStub
android:id="@+id/vs"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:inflatedId="@+id/my_view"
android:layout="@layout/my_layout" />
//加载VS
public void loadVS(View view){
//初始化vs
ViewStub vs = (ViewStub) findViewById(R.id.vs);
//inflate一下
View inflate = vs.inflate();
}