使用Hilt注入上下文:此字段泄漏上下文对象

塔西拉·科斯塔隆加(Tarsila Costalonga)

我正在使用Hilt将上下文和其他依赖项注入到HomeViewModel类中。一切正常,但我收到此警告。如何防止泄漏?

这是我的HomeFragment(我在其中注入和使用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"

谢谢!

-在第一个给出的答案之后根据建议进行编辑:

现在,“家庭片段”为:

在此处输入图片说明

@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"

而且我仍然收到这个泄漏的错误。

有任何想法吗?

迈克·布莱克

我没有收到此警告,而是以相同的方式注入上下文。

尝试更新为hilt的2.31.2-alpha和hilt-androidx的1.0.0-alpha03

有一些重大变化。您将需要使用@HiltViewModel注释视图模型,使用@Inject而不是@ViewModelInject。并且您将需要用SingletonComponent替换对ApplicationComponent的所有引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

执行上下文和((此对象))

来自分类Dev

Specflow上下文注入

来自分类Dev

jQuery“此”上下文

来自分类Dev

带有泄漏上下文的静态字段

来自分类Dev

isGooglePlayServicesAvailable的上下文(上下文上下文)

来自分类Dev

Android:使用共享 EGL 上下文时内存泄漏

来自分类Dev

如何将对象注入jersey请求上下文?

来自分类Dev

Kotlin对象中的Dagger 2注入上下文

来自分类Dev

JS对象文字,此上下文不断变化

来自分类Dev

如何从测试中注入上下文

来自分类Dev

上下文注入和BeforeFeature挂钩

来自分类Dev

IWebDriver的Specflow上下文注入失败

来自分类Dev

上下文未正确注入

来自分类Dev

上下文注入和BeforeFeature挂钩

来自分类Dev

IWebDriver的Specflow上下文注入失败

来自分类Dev

揭示原型“此”上下文

来自分类Dev

揭示原型“此”上下文

来自分类Dev

此上下文的正确请求类型?

来自分类Dev

反应-上下文

来自分类Dev

使用Netty在Resteasy测试中注入上下文数据

来自分类Dev

如何在静态上下文中使用带有上下文参数的类而不引起内存泄漏?

来自分类Dev

如何注入应用:带有Hilt的ViewModel中的上下文?

来自分类Dev

Android内部类的内存泄漏和上下文泄漏?

来自分类Dev

实体框架对象上下文刷新

来自分类Dev

python对象的布尔上下文

来自分类Dev

导出+导入对象与上下文

来自分类Dev

子上下文新的托管对象

来自分类Dev

实体框架对象上下文刷新

来自分类Dev

Django 模板上下文对象的目的?