Hilt笔记

2020-11-29

Hilt 使用笔记

1. 在ViewModel中无法通过@ActivityContext获取上下文

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

img