使用静态常量保存Android应用程序状态

时间:2013-10-29 03:58:19

标签: java android

在我的Android应用程序中,我使用Constants类来存储应用程序数据,例如使用静态变量登录用户信息。我可以在整个应用程序中使用该数据。但是,当我将我的应用程序放在后台很长一段时间并稍后启动时,它会崩溃。错误堆栈包含我从Constants类引用的变量的NullPointerException。

2 个答案:

答案 0 :(得分:1)

当您的应用程序从内存中清除时,所有静态变量(显然存储在内存中)也会被清除。 Saving Data Training详细介绍了许多可用于存储数据的解决方案,以便即使应用程序被终止也可以正确恢复。简单的键值对可以存储在Shared Preferences

答案 1 :(得分:0)

从静态或任何变量中,在应用程序关闭后无法检索上次更改。为此,您需要将值保存到文件系统或任何轻量级数据库(例如SQLite)。无论何时启动应用程序,都需要从文件或数据库加载到静态字段中。