Hilt 使用笔记
1. 在ViewModel
中无法通过@ActivityContext
获取上下文
首先看看生命周期,引用官方图片如下,可以看到 ActivityComponent
与ViewModelComponent
是两个分支。这样会带来一个问题,无法在ViewModel
中使用@ActivityContext
注解获取activity上下文。因ViewModel
的生命周期是要大于Activity
的,例如:Activity旋转时,先销毁再重建,而ViewModel
是不会重新创建的,如果这个时候ViewModel
持有activity
引用,则会照成内存泄露,导致activity
无法销毁。