相关疑难解决方法(0)

用 Hilt 注入上下文:这个字段会泄露一个上下文对象

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

这是我的 HomeFragment(我在其中注入并使用 HomeViewModel 类):

@AndroidEntryPoint
class HomeFragment : Fragment() {

private val viewModel: HomeViewModel by viewModels()

....

}
Run Code Online (Sandbox Code Playgroud)

这是警告:

刀柄注入视图模型

class HomeViewModel @ViewModelInject constructor(
    @ApplicationContext val context: Context,
    private val locationAPI: LocationAPI,
    private val imagesAPI: ImagesAPI
) :
    ViewModel() {
...
}
Run Code Online (Sandbox Code Playgroud)

我正在使用:

//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"
Run Code Online (Sandbox Code Playgroud)

谢谢!

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

家庭片段现在是:

在此处输入图片说明

@HiltViewModel
class DetailsViewModel @Inject constructor(
    @ApplicationContext val context: Context,
    private val locationDetailsAPI: LocationAPI) :
    ViewModel() {
...

}
Run Code Online (Sandbox Code Playgroud)

依赖更新为: …

android kotlin dagger-hilt

13
推荐指数
4
解决办法
3189
查看次数

标签 统计

android ×1

dagger-hilt ×1

kotlin ×1