应用程序上下文变量的值丢失在应用程序错误上

时间:2011-09-01 13:27:06

标签: android memory

我注意到当我的应用程序遇到错误时,我的应用程序上下文变量的值也会重新初始化为其原始值(而不是更新的值)。根据我的理解,这是因为重新创建了应用程序。

如何在发生应用程序错误时保存和恢复应用程序上下文变量的值?如果您能够在遇到错误时对应用程序的背景情况进行更详细的解释,我也会很高兴。

注意:我读到其中一个解决方案是使用SharedPreferences。但是,即使应用程序已经死亡,SharedPreferences也会保存数据。我不想在应用程序死机时保存数据。我只想在应用程序处于活动状态或后台时保存数据。

1 个答案:

答案 0 :(得分:3)

  

如何在发生应用程序错误时保存和恢复应用程序上下文变量的值?

首先,没有未处理的异常。

其次,不要依赖静态数据成员或自定义Application子类实例。在许多情况下,您的流程将被终止,并且这些值将消失。它们应该用于持久内容的内存缓存,而不是其他内容。

有时,未处理的异常确实是意料之外的,但这些异常应该很少并且通常与特定设备相关联(例如,用完存储空间)。其他所有内容都代表了您应用中的错误,您必须修复错误。