使用方式
1.依赖
api "androidx.startup:startup-runtime:1.0.0-alpha01"
2.创建provider
public class ArouterInitializer implements Initializer {
@NonNull @Override public Object create(@NonNull Context context) {
ARouter.init((Application) context);
return null;
}
@NonNull @Override public List<Class<? extends Initializer<?>>> dependencies() {
return Collections.emptyList();
}
}
3.在AndroidManifest.xml中添加
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<!-- 自动初始化 -->
<meta-data
android:name="com.zlhs.wms_android.common.starrtup.ImInitializer"
android:value="androidx.startup"
/>
<meta-data
android:name="com.zlhs.wms_android.common.starrtup.GloadInitializer"
android:value="androidx.startup"
/>
<meta-data
android:name="com.zlhs.wms_android.common.starrtup.ArouterInitializer"
android:value="androidx.startup"
/>
</provider>
4.然后app启动就可以优化了其中有一个延迟初始化在清单 <meta-data> 添加
<meta-data
android:name="com.hi.dhl.startup.library.LibaryD"
android:value="androidx.startup"
tools:node="remove" />
5.最后在使用该sdk的地方初始化
AppInitializer.getInstance(getActivity()).initializeComponent(ArouterInitializer.class)