关于Hilt的使用,目前已经比较普及了,想必大家已经知道。今天说的是一个如何利用Hilt来做一个启动框架的故事。
是否经历过大型项目的启动优化,一遍过去无任何效果,第二遍过去好几处报错,第三遍过去启动不了,第四遍过去回滚了代码 这都是为什么呢?
不要怀疑,不要询问,不是你技术菜,也不是逻辑有问题(当然没问题,有问题就不叫优化了,叫改bug),而是启动代码写的乱。
在我们软件行业中,或者说每个人的人生中,乱 这一个字,让多少人悲痛欲绝,让多少人从成功走向了落寞,咳咳,让多少软件行业增本、让多少软件行业无利。
当你打开Application 他的代码量是这样的:
你是不是很崩溃,我们做启动优化的手法一般是,将能并发的并发,能延后的延后, 总之就是要快。但是面对这种代码,真的不敢动。
正文
这种启动优化的方式理念是非常好的,今天我要做的操作是,解决乱代码,将初始化分开做,在这个过程中,我发现可以利用配置引入协程,或有序、或并发、或依赖、或想怎样就怎样,简直爽到不行
如需完整版性能优化学习文档 请点击领取
利用Hilt 搭建启动框架
- 首先,使用接口约束初始化框架
// 后续都需要依赖此框架
interface AppInitializer {
fun init()
}
复制代码
- 其次,将实现了此接口的初始化器,分开并连起来
class AppInitializers @Inject constructor(
private val application: Application,
) {
private val initializers: Set