首页 > 解决方案 > 活动中的 ViewModel 与静态变量

问题描述

我知道处理方向变化的解决方案之一是使用 ViewModel 来保存数据,因为它的寿命超过了活动。

但是,我想知道,如果我们在类中创建一个静态变量来保存相同的数据,我们不能实现同样的事情吗?

为什么我们要沿着 ViewModel 路径走下去?

谢谢

标签: android

解决方案


一个原因是因为活动本身不是静态的或单例的。您可以让 ItemViewActivity 为不同的项目启动另一个 ItemViewActivity,如果它们通过静态共享相同的变量,您可能只是破坏了后退按钮。如果你没有非常仔细地对它们进行编码,你可能会将数据发送到错误的 Activity 视图。


推荐阅读