首页 > 解决方案 > ViewModel vs Activity 成员变量?

问题描述

从这张图来看,ViewModel 的生命周期与 Activity 实例的生命周期非常相似,那么为什么不直接使用 Activity 实例变量呢?由于自动调用 ViewModel 会更好onClear吗?或者因为它是可观察的(在这种情况下,为什么不只拥有可观察的普通成员变量)?在此处输入图像描述

标签: androidandroid-viewmodel

解决方案


也许图形不够清晰,但打印的生命周期挂钩来自活动,视图模型保持不变,直到活动完全完成。

因此,活动实例中的变量将在轮换后被释放,例如,当创建新活动实例时该活动实例将被销毁。但如果它在 ViewModel 上就不会发生这种情况,因为两者都使用同一个。


推荐阅读