异步Inflate实战

258 阅读1分钟

背景介绍

布局文件读取慢:IO过程

创建View慢:反射(比new慢3倍)

AsyncLayoutInflater实战

AsyncLayoutInflater

简称异步Inflate

WorkThread加载布局

回调主线程

节约主线程时间

AsyncLayoutInflater使用

implementation 'com.android.support:asynclayoutinflater:xxx'

new AsyncLayoutInflater(MainActivity.this).inflate(R.layout.activity_main, null, new AsyncLayoutInflater.OnInflateFinishedListener() {
            @Override
            public void onInflateFinished(@NonNull View view, int i, @Nullable ViewGroup viewGroup) {
                setContentView(view);
               //...
            }
        });

不能设置LayoutInflater.Factory(自定义解决)

注意View中不能有依赖主线程的操作