Jetpack新成員,App Startup一篇就懂
使用示例
- 導(dǎo)包
dependencies {
api "androidx.startup:startup-runtime:1.0.0"
}
- 創(chuàng)建初始化的類實現(xiàn)
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;
}
}
- 在
AndroidManifest.xml配置就可以了
<!--使用androidx.startup框架進行自動初始化-->
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<!--可以添加多組下面的標簽,按從下到上的順序執(zhí)行-->
<meta-data
android:name="com.ijoysoft.photoeditor.manager.ProjectInitializer"
android:value="androidx.startup"
tools:node="remove">
<!--添加tools:node="remove"不自動執(zhí)行,需要手動調(diào)用-->
<!--AppInitializer.getInstance(this).initializeComponent(ProjectInitializer.class);-->
</meta-data>
<meta-data
android:name="com.ijoysoft.photoeditor.manager.PhotoEditorInitializer"
android:value="androidx.startup">
</meta-data>
</provider>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。