您的位置:首页 > 移动开发 > Android开发

Android性能优化-布局优化

2016-03-03 11:14 501 查看
本篇博客是在学习郭神的博客后作的学习总结。详细学习请访问原文http://blog.csdn.net/guolin_blog/article/details/43376527。

1.对于重复使用的布局,如custom_head 自定义头布局,放到单独的布局文件中。需要使用时,使用<include>标签进行引用。

2.使用<include>标签时,可能会造成多余的嵌套布局(最外层多一个Layout),降低性能,解决方案使用<merge>标签 配合<include>使用。

3.仅在需要时加载布局,如一个隐藏的布局(在用户进行某一操作下,才显示),我们通常的做法是设置visible属性为invisible或gone,但是这种做法性能表现较低,每个布仍 然有它的宽高背景等。推荐的做法是使用ViewStub,它没有大小,没有绘制能力,也不参与布局,资源消耗非常低。

xml代码中使用如下:

<ViewStub
android:id="@+id/stubview"
android:layout="@layout/layout_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
需要注意的是layout 无法使用<merge>标签,故可能会造成嵌套布局。

java中使用如下

ViewStub viewStub =  ViewStub findViewById(R.id.stubview);
if(viewStub!=null){ //仅第一次能查找到,故需判断
View view = viewStub.inflat();
.
.
.
}
需要注意的是findViewByid仅在第一次能查找到,需要做非空判断。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: