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标签

你可能感兴趣的:(Android)