ViewModel vs Activity 成员变量?
ViewModel vs Activity member variable?
按照这张图片,ViewModel 的生命周期与 Activity 实例的生命周期非常相似,那么为什么不直接使用 activity 实例变量呢?由于自动调用 onClear
,ViewModel 是否更好?或者因为它是可观察的(在这种情况下,为什么不只使用可观察的普通成员变量)?
也许图形不够清晰,但打印的生命周期挂钩来自 activity,视图模型保持不变,直到 activity 完全完成。
因此,activity 实例中的变量将在轮换后释放,例如,当创建新的 activity 实例时,该 activity 实例将被销毁。但是如果它在 ViewModel 上就不会发生这种情况,因为两者会使用同一个。
按照这张图片,ViewModel 的生命周期与 Activity 实例的生命周期非常相似,那么为什么不直接使用 activity 实例变量呢?由于自动调用 onClear
,ViewModel 是否更好?或者因为它是可观察的(在这种情况下,为什么不只使用可观察的普通成员变量)?
也许图形不够清晰,但打印的生命周期挂钩来自 activity,视图模型保持不变,直到 activity 完全完成。
因此,activity 实例中的变量将在轮换后释放,例如,当创建新的 activity 实例时,该 activity 实例将被销毁。但是如果它在 ViewModel 上就不会发生这种情况,因为两者会使用同一个。