Android性能优化-布局优化

       本篇博客是在学习郭神的博客后作的学习总结。详细学习请访问原文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仅在第一次能查找到,需要做非空判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值