Android布局优化

布局优化

如何进行布局优化

  1. 首先删除布局中无用的控件和层级
  2. 其次有选择的使用性能较低的ViewGroup

    1. 例如LinerLayout和RelativeLayout相比,都能使用的话,使用 LinerLayout,RelativeLayout的功能复杂,布局过程中花费更多的CPU。
    2. FrameLayout和LinerLayout也是这样的关系,但是两个需要嵌套的时候不如用一个RelativeLayout,因为ViewGroup的嵌套相当于增加了布局的层级。
  3. 使用 include、merge、ViewStub

include

  1. 指定另一个布局文件,通过这种方式就不用把重复使用的布局再重复写一遍了

merge

  1. merge标签一般和ninclude标签一起使用从而减少布局的层级,如果当前布局是一个竖直方向的LinearLayout,这个时候如果被包含的布局文件中也采用了竖直方向的LinearLayout,那么被包含的布局文件中的LinearLayout是多余的,通过merge标签去掉多余的那一层。

ViewStub

  1. 继承自View,非常轻量级,且宽和高都是0,因此本身不参加任何的布局和绘制过程。
  2. ViewStub需要加载时需要作如下操作:

    ((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);
    

    View importPanel = ((ViewStub)findViewById(R.id.stub_import)).inflate();
    
  3. 当ViewStub通过setVisibility或者inflate方法加载后,ViewStub就会被他内部的布局替换掉,这时候ViewStub就不再是布局结构中的一部分了
  4. 目前ViewStub还不支持merge标签
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值