介绍
App Startup是一个可以用于加速App启动速度的一个库。
出现的原因
以前初始化第三方库会在Application的onCreate中。
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
LitePal.initialize(this)
AAA.initialize(this)
BBB.initialize(this)
CCC.initialize(this)
DDD.initialize(this)
EEE.initialize(this)
}
...
}
复制代码
现在越来越多的库在ontentProvider来初始化。
class MyProvider : ContentProvider() {
override fun onCreate(): Boolean {
context?.let {
LitePal.initialize(it)
}
return true
}
...
}
复制代码
这样写逻辑不会有什么问题。
但是ContentProvider越来越多,启动就慢了。
关于ContentProvider的耗时,Google官方也有给出一个测试结果: