让用户在他的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读了一些关于任务重新育儿等的内容,但是不确定任何选项在这里真的有用吗?
答案 0 :(得分:2)
我最终修改了我的PreferenceActivity子类,以便在活动开始时从数据库表初始化共享prefs,并在值发生更改时写入数据库。 PITA,但所有三星S问题现在都已消失。
答案 1 :(得分:0)
这似乎是三星问题 - 我注意到与Galaxy S上的2.2.1 ROM非常类似的问题