在我的Android应用程序中,我使用Constants类来存储应用程序数据,例如使用静态变量登录用户信息。我可以在整个应用程序中使用该数据。但是,当我将我的应用程序放在后台很长一段时间并稍后启动时,它会崩溃。错误堆栈包含我从Constants类引用的变量的NullPointerException。
答案 0 :(得分:1)
当您的应用程序从内存中清除时,所有静态变量(显然存储在内存中)也会被清除。 Saving Data Training详细介绍了许多可用于存储数据的解决方案,以便即使应用程序被终止也可以正确恢复。简单的键值对可以存储在Shared Preferences。
中答案 1 :(得分:0)
从静态或任何变量中,在应用程序关闭后无法检索上次更改。为此,您需要将值保存到文件系统或任何轻量级数据库(例如SQLite)。无论何时启动应用程序,都需要从文件或数据库加载到静态字段中。