Android - 打开手机会删除应用状态

时间:2010-06-10 20:24:10

标签: java android

我正在编写一个维护很多“状态”数据的android应用程序...其中一些我可以以onSaveInstanceState的形式保存,但其中一些只是复杂以保存在内存中。

我的问题是滑动手机会破坏/重新创建应用程序,并且我在此过程中丢失了所有应用程序状态。 “后退”按钮也会发生同样的事情,但我在途中重载了这个功能。有没有办法超载手机开口以防止它发生?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我认为更聪明的做法是正确处理屏幕方向更改事件,并能够以编程方式保存和重新加载数据,而不是试图对抗手机以及操作系统的工作方式。标题为Faster Screen Orientation Change的开发指南中有一篇文章,您可能会发现它很有用。

此外,Shelves sample app可以很好地处理此事件,并且在方向更改时有一些关于取消和恢复异步任务的好例子。

答案 1 :(得分:0)

您可以尝试覆盖Activity中的onConfigurationChanged方法;

或者您可以尝试在覆盖的onRetainNonConfigurationInstance中保存配置,并使用this.getLastNonConfigurationInstance();

检索onCreate中的信息