ViewModel vs Activity 成员变量?

ViewModel vs Activity member variable?

按照这张图片,ViewModel 的生命周期与 Activity 实例的生命周期非常相似,那么为什么不直接使用 activity 实例变量呢?由于自动调用 onClear,ViewModel 是否更好?或者因为它是可观察的(在这种情况下,为什么不只使用可观察的普通成员变量)?

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

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