App Startup

2022-04-02  本文已影响0人  大灰狼zz

Jetpack新成员,App Startup一篇就懂

使用示例

  1. 导包
dependencies {
    api "androidx.startup:startup-runtime:1.0.0"
}
  1. 创建初始化的类实现Initializer<Void>接口
public class PhotoEditorInitializer implements Initializer<Void> {

    @NonNull
    @Override
    public Void create(@NonNull Context context) {
        ActivityLifecycle.get().initialize((Application) context);
        PhotoEditor.init(context);
        DataManager.get().registerContentObserver(context);
        return null;
    }

    @NonNull
    @Override
    public List<Class<? extends Initializer<?>>> dependencies() {
        List<Class<? extends Initializer<?>>> initializerList = new ArrayList<>();
//        initializerList.add(ProjectInitializer.class);
        return initializerList;
    }
}
  1. AndroidManifest.xml配置就可以了
        <!--使用androidx.startup框架进行自动初始化-->
        <provider
            android:name="androidx.startup.InitializationProvider"
            android:authorities="${applicationId}.androidx-startup"
            android:exported="false"
            tools:node="merge">
            <!--可以添加多组下面的标签,按从下到上的顺序执行-->
            <meta-data
                android:name="com.ijoysoft.photoeditor.manager.ProjectInitializer"
                android:value="androidx.startup"
                tools:node="remove">
                <!--添加tools:node="remove"不自动执行,需要手动调用-->
                <!--AppInitializer.getInstance(this).initializeComponent(ProjectInitializer.class);-->
            </meta-data>
            <meta-data
                android:name="com.ijoysoft.photoeditor.manager.PhotoEditorInitializer"
                android:value="androidx.startup">

            </meta-data>
        </provider>
上一篇下一篇

猜你喜欢

热点阅读