我无法保存我的应用程序的状态/单例。在Android上保持应用程序状态
当应用程序启动时显示一个加载屏幕(活动),并使用来自web服务调用的值(请注意,网络访问无法在主线程上运行)初始化单例。
单身人士创建后,我打开我的主要活动。请注意,构建布局需要来自单例的值。
现在假设应用程序在后台运行并在那里死亡(例如,由于内存不足)。我的单例实例在应用程序被终止时被删除。当我切换回我的应用程序时,它会尝试重新创建主要活动。正如我前面提到的那样,来自单例的值需要构建布局,所以这会导致NullPointerException(当我尝试访问单例的成员时,因为它不再存在)。
我可以告诉android在应用程序被杀后启动第一个加载活动吗?如果我可以在重新创建布局之前刷新单身人士,那将是一件好事,但这似乎是一个问题,因为网络调用不能在主线程上,因此在刷新完成之前不会阻塞。 我认为我可以在onStop的所有活动中保存单例并在onCreate方法中重新创建它,但是这看起来有点太不可预测,并且可能导致状态不一致在onStop上完成我的活动,但是这会导致失去用户上一次的选项卡等等,即使应用程序没有被杀死,所以这不是一个好的选择。
关于如何解决这个问题的任何想法?
显示代码或至少代码片段。同时显示'崩溃'的logcat - 如果你所说的是“......导致崩溃......”,我们不能真正地这样做。 – Squonk
问题不是崩溃,问题是单例对象为空,因为应用程序在后台被终止,当我切换回它时,它尝试加载最后一个活动,该活动必须访问单例以创建其布局。 – Tim