3

我正在创建一个应用程序,它在启动时下载一些东西并向用户显示列表,但我不希望它在每次应用程序打开时重新下载列表,或者每当用户更改为不同的活动并出现时背部。

为了解决这个问题,我正在使用静态变量。我读到它们的值仍然存在,直到程序关闭或它们没有被使用并且垃圾收集器完成他的工作。

所以,我的问题是:

这两种方式有很大区别吗?还是我做错了?我应该使用 Android 提供的 Saved Instance State 来保存这些变量还是 static 来完成这项工作?

请注意,我不能将此日期保存超过一天,因此不能将其保存到数据库中。

谢谢。

4

1 回答 1

2

是的,有很大的不同。即使 Android 终止了应用程序,它也可以保留保存的状态信息,以便可以在用户上次离开它的位置恢复它(例如,从最近的应用程序列表中)。使用静态变量,一旦进程终止,该数据就会消失。

保存状态实际上是针对 Activity 或 Fragment 特定的事物(例如 UI 状态),而不是针对大量数据。如果您从 Web 下载数据,我建议您研究持久数据存储选项,而不是使用静态变量。

于 2015-08-27T01:17:17.000 回答