AndroidX App Startup 介绍及使用

技术来源:Google Jetpack

官方文档:

https://developer.android.google.cn/topic/libraries/app-startup

什么是App StartUp

App Startup 提供了一个 ContentProvider 来运行所有依赖项的初始化,避免每个第三方库单独使用 ContentProvider 进行初始化,从而提高了应用的程序的启动速度

App Startup分为自动初始化(自动初始化清单文件中的InitializationProvider)和手动初始化,由开发人员在代码中调用初始化接口进行初始化逻辑调用,实现依赖库等资源的延迟初始化,从而达到App启动速度优化。

所以,最好的使用方式是根据实际资源依赖关系把自动初始化和手动初始化结合使用

如何使用App StartUp

代码实现:

在需要调用的Libary中 build.gradle 文件内添加依赖

implementation "androidx.startup:startup-runtime:1.0.0-alpha01"

自动初始化:(不需要手动再调用初始化方法,启动顺序为app启动---- InitializationProvider------MainActivity)

1.在需要调用的Libary中新建一个实现androidx.startup.Initializer接口的类,如LibAuto.kt

2.在调用的Libary清单文件中注册对应的InitializationProvider

3.在需要的代码module里面如(::app)里面增加对当前Library 的依赖即可

手动初始化:(需要调用

AppInitializer.getInstance(applicationContext).initializeComponent(LibManual::class.java)进行初始化,好处在于可以延迟不必要组件的初始化逻辑执行,可以按开发人员的编程逻辑进行资源初始化调用,可以适时可控地进行资源调用)

1. 在需要调用的Libary中新建一个实现androidx.startup.Initializer接口的类,如LibManual.kt

2.在代码需要进行Library资源初始化的时候进行初始化,如MainActiv.Oncreate()

同时使用LibAuto.kt和LibManual.kt进行初始化启动顺序:

补充:

Jetpack 最新成员 AndroidX App Startup 实践以及原理分析

https://juejin.cn/post/6844904190440013837

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值