我使用 Android 应用程序的应用程序上下文作为应用程序“当前状态”信息的存储区域。
我发现在现场,有些情况下此信息在某些人的设备上消失,导致各种 NullPointerExceptions,因为我希望当应用程序恢复并开始重建必要的活动时数据仍然存在。
当用户点击“Home”,执行其他操作,然后最终回到应用程序时,通常会发生这种情况 - 它试图返回到之前的位置,但应用程序上下文神秘地丢失了所有先前保存的状态信息(在我的情况是,一些整数和一些字符串)。
我知道这是一个非常模糊的问题,但是是否有任何情况(除了用户使用“后退”完全退出应用程序之外),即使应用程序没有终止,应用程序上下文也会被完全破坏?
有没有更好的方法来维护持久状态信息?
是的,如果用户离开应用程序一段时间,应用程序可能会被终止并重新启动。您可能想阅读本节流程和生命周期 http://developer.android.com/guide/topics/fundamentals.html#proclife.
您应该找到一个合适的位置将状态保存到持久存储中。如果只是一些整数和字符串,那么在它们发生变化时将它们保存到共享首选项应该非常简单。看数据存储 - 共享偏好 http://developer.android.com/guide/topics/data/data-storage.html#pref.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)