在我的应用程序中,我使用了 MVVM 并且我有 ViewModel,但我想访问 context 到 viewModel。
我将以下代码写入ViewModel:
@HiltViewModel
class SimpleViewModel @Inject constructor(
private val repository: SimpleRepository, @ApplicationContext val context: Context
) : ViewModel() {
但是请在上下文中向我显示警告并显示此消息:
This field leaks a context object
将上下文访问到视图模型的最佳方式是什么?
正如这个答案中所说的,当使用@ApplicationContext
时,不会发生泄漏,因为上下文总是比视图模型实例寿命更长,这只是一个误报警告,您甚至可以通过使用来确认不会发生内存分析器。