我正在使用 Hilt 将上下文和其他依赖项注入(inject)到我的 HomeViewModel 类中;一切正常,但我收到此警告。
如何防止泄漏?
这是我的 HomeFragment(我在其中注入(inject)和使用 HomeViewModel 类):
@AndroidEntryPoint
class HomeFragment : Fragment() {
private val viewModel: HomeViewModel by viewModels()
....
}
这是警告:class HomeViewModel @ViewModelInject constructor(
@ApplicationContext val context: Context,
private val locationAPI: LocationAPI,
private val imagesAPI: ImagesAPI
) :
ViewModel() {
...
}
我在用着://Hilt DI
implementation "com.google.dagger:hilt-android:2.30.1-alpha"
kapt "com.google.dagger:hilt-android-compiler:2.30.1-alpha"
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha02"
kapt "androidx.hilt:hilt-compiler:1.0.0-alpha02"
谢谢!-- 按照建议,在第一个给出的答案之后进行了编辑:
现在的家庭 fragment 是:
@HiltViewModel
class DetailsViewModel @Inject constructor(
@ApplicationContext val context: Context,
private val locationDetailsAPI: LocationAPI) :
ViewModel() {
...
}
依赖项更新为://Hilt DI
implementation "com.google.dagger:hilt-android:2.31-alpha"
kapt "com.google.dagger:hilt-android-compiler:2.30.1-alpha"
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
kapt "androidx.hilt:hilt-compiler:1.0.0-alpha03"
而且我仍然收到这个泄漏错误。有什么想法吗?
最佳答案
关于android - 使用 Hilt : this field leaks a context object 注入(inject)上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66216839/