【发布时间】:2011-01-26 11:58:34
【问题描述】:
有一个用户刚刚在他的 Galaxy S 上更新到 2.2.1。现在,当他点击 HOME 然后重新启动应用程序时,我可以在日志中看到应用程序上下文重新初始化并且新进程 ID 是已创建(通过我的应用程序实例中的 onCreate() 中的日志消息进行验证。)
奇怪的是,当它从历史记录中重新启动时,我存储重要状态的共享首选项不再可用,并且所有对 context.getSharedPreferences(PREFS_FILE, Mode.WORLD_PRIVATE).getString() 的请求都返回 NULL 最终导致强制关闭。
再次重新启动应用后,一切正常,sharedPreferences 再次可用。
我在三星 Galaxy S 升级到 2.2.1 后才注意到这一点。
奇怪的是,当返回应用程序时似乎启动了一个新进程。
还有其他人看到过这种行为吗?也许我做错了什么?
我从http://developer.android.com/guide/topics/manifest/activity-element.html#proc 阅读了一些关于任务重新育儿等的信息,但不确定任何选项在这里真的有帮助吗?
【问题讨论】:
-
你的主要活动上是否有 android:launchMode="singleTask" 也有:
-
我没有 singleTask - 当我将它更改为具有 singleTask 时,它会从头开始重新启动应用程序并且不显示最后一个活动。我现在正在阅读任务、启动模式和任务相关性,以便更好地理解事情。这似乎是一个不错的资源:@987654322@
标签: android