Android性能优化-布局优化(三)

2019-07-11  本文已影响0人  A代码搬运工

说明

上篇文章Android性能优化-布局优化(一)咱们说过,为了解决布局冗余,合理使用include/megre/viewStub。

include

把公共的布局抽取成独立的xml复用

<include layout="..."><include>

megre

省了一层布局层级

<megre 
    xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        ...
        ...
</megre>

ViewStub

​ 某些场景,一级父布局根据不同的业务条件显示不同的布局,原始的做法是把布局都写在xml中,通过gone/visiable来控制。其实这种场景非常适合ViewStub。xml不占用,使用的时候ViewStub.inflate。

注:不要在非 UI 线程中初始化 ViewStub,否则会返回 null。

    <ViewStub
        android:layout="..."
        android:id="@+id/viewStub"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

activity中直接inflate

        mViewStub = findViewById(R.id.viewStub);
        mViewStub.inflate();
上一篇下一篇

猜你喜欢

热点阅读