1

我在扩展应用程序类的类中有一些静态变量。现在,在应用程序的某个地方,如果发生崩溃,那么这些变量将变为空,为什么会这样。

我可以说清楚吗,我在 Application 子类中声明这两个变量,并在发生崩溃时在其他 java 类中初始化这些变量为 null。我的应用程序要求在登录后只有这两个变量应该被初始化。

对于任何答案/建议在此先感谢

4

2 回答 2

2

这种行为是正常的。在您的应用程序崩溃后,一切都被“重新初始化”并且您的static变量达到了它们的初始值,我想是null.

如果您想在应用程序停止/重新启动时保留变量(当 Android 决定停止您的应用程序时也会发生这种情况),您应该使用不同的存储,我建议您查看SharedPreferences.

于 2012-06-21T11:04:01.333 回答
1

静态变量与一个类相关联,只要该类在内存中,它们就会一直存在(一旦您的应用程序终止或一旦该类被卸载,它就不再存在,请阅读内容以获取更多信息)。因此,当您的应用程序崩溃时,您的静态变量将不复存在,并再次将它们的值作为null.

对于这些变量的持久值存储,请选择SharedPreferences.

在此处阅读有关 SharedPreferences的更多信息。和一个可以使用的例子

于 2012-06-21T11:05:59.457 回答