2015-08-26 38 views
3

我创建的应用程序在启动时下载一些内容并向用户显示列表,但我不希望它每次应用程序打开时都重新下载列表,或者每当用户改变其他活动并回来时。保存的实例状态和静态变量之间的差异

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

所以,我的问题是:

是否有这两种方式之间有很大的区别?或者我做错了吗? 我应该使用Android提供的已保存实例状态来保存这些变量或静态会执行这项工作吗?

请注意,我可以而不是保存此日期的时间超过一天,因此它不是一个将它保存到数据库的选项。

谢谢。

回答

2

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

保存的状态实际上是指活动或片段特定的事物(如UI状态),而不是大量的数据。如果您正在从网上下载数据,我建议您查看persistent data storage选项,而不是使用静态变量。

+1

基本上,保存的实例状态幸存下来的应用程序正在为保存内存而死亡,而静态变量将会消失? – George

相关问题