Android架构组件 – App Startup入门

App Startup库提供了一种高效的方式在应用启动时初始化组件,避免使用content provider导致的启动延迟。它允许定义组件初始化器,控制初始化顺序,并通过lint检查确保正确配置。可以手动禁用自动初始化以进行延迟加载。
摘要由CSDN通过智能技术生成

翻译自android官网

App Startup库提供了一种直接,高效的方法,可以在应用程序启动时初始化组件。库开发人员和应用程序开发人员都可以使用 app startup 来简化启动顺序并显式设置初始化顺序。

App Startup无需为需要初始化的每个组件定义单独的content provider,而是允许您定义共享单个content provider的组件初始化程序。这可以大大缩短应用程序的启动时间。

Setup 设定

要在您的库或应用程序中使用Jetpack Startup,请将以下内容添加到您的Gradle文件中:

dependencies {
   
    implementation "androidx.startup:startup-runtime:1.0.0"
}

Initialize components at app startup 在应用启动时初始化组件

应用程序和库通常依赖于应用程序启动时立即初始化组件。您可以通过使用content provider初始化每个依赖关系来满足此需求,但是content provider的实例化成本很高,并且可能不必要地减慢启动顺序。此外,Android会以不确定的顺序初始化content providerapp startup提供了一种更高效的方法,可在应用程序启动时初始化组件并显式定义其依赖关系

若要使用App Startup在启动时自动初始化组件,必须为应用程序需要初始化的每个组件定义一个component initializer

Implement component initializers 实现组件初始化器

可以通过创建实现该Initializer< T >接口的类来定义每个 component initializer 程序。该接口定义了两个重要的方法:

  • create()方法包含初始化组件的所有必要操作,并返回的实例T
  • dependencies()方法返回Initializer< T >初始化程序所依赖的其他对象的列表 。您可以使用此方法来控制应用程序在启动时运行初始化程序的顺序

例如,假设您的应用依赖 WorkManager并且需要在启动时对其进行初始化。定义一个WorkManagerInitializer实现类Initializer< WorkManager >:

// Initializes WorkManager.
class WorkManagerInitializer implements Initializer<WorkManager> {
   

    @Override
    public WorkManager create(Context context) {
   
        Configuration configuration = Configuration.Builder().build(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值