App Startup

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>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容