Android架构组件视图模型

Android架构组件视图模型,android,viewmodel,android-architecture-components,android-mvvm,Android,Viewmodel,Android Architecture Components,Android Mvvm,我正在尝试用android架构组件更新我的学校项目。这几天我在研究体系结构组件中的ViewModel组件。我读了很多文章 我知道使用viewmodel是为了向UI提供数据,并在配置更改后生存。但我的问题是,这会导致内存泄漏吗?。例如,如果在活动的生命周期完成之前未清除引用,则将导致内存泄漏。大多数情况下,上下文都会导致内存泄漏,因为上下文包含许多对大量内存的引用 如果viewmodel将导致内存泄漏,如何避免 提前谢谢 参考资料: 如果需要viewmodel中的上下文,则应使用AndroidV

我正在尝试用android架构组件更新我的学校项目。这几天我在研究体系结构组件中的ViewModel组件。我读了很多文章

我知道使用viewmodel是为了向UI提供数据,并在配置更改后生存。但我的问题是,这会导致内存泄漏吗?。例如,如果在活动的生命周期完成之前未清除引用,则将导致内存泄漏。大多数情况下,上下文都会导致内存泄漏,因为上下文包含许多对大量内存的引用

如果viewmodel将导致内存泄漏,如何避免

提前谢谢

参考资料


如果需要viewmodel中的上下文,则应使用AndroidViewModel。此外,不应在ViewModel中保留任何与视图相关的内容。这就是为什么您使用livedata并观察活动或片段中的更改,例如,如果在活动的生命周期结束之前未清除引用,则
-哪个引用?@Raghunandan:谢谢您的回答。这意味着当我将上下文传递给viewmodel时,viewmodel将导致内存泄漏。因为当我们旋转设备时,活动/片段将被销毁,但viewmodel保存其中的所有引用数据,这将是内存泄漏。是的,活动上下文不应在视图模型中。阅读@Raghunandan的结论部分:感谢你的帮助。谢谢