最近我用onSaveInstanceState()和onRestoreInstanceState()碰到了一些麻烦.我有多种活动,使用这些方法来保存状态,以防它们被系统清理.他们中的大多数工作,除了一个,我不知道为什么.
具体发生的是这样的:
>我有我的模拟器运行,并且开发工具设置为在所有活动不再可见时销毁()所有活动. (所以我可以证明保存/恢复正常工作.)
>有关活动已启动,我继续改变其状态.
>我开始一个新的Activity,让它运行一会儿,然后使用’back’按钮转到我以前的Activity.
>回到有问题的Activity时,我注意到默认状态是回来的,因此它没有应该的状态.
我注意到onSaveInstanceState()被调用,onCreate()被调用,但是有一个空包,并且onRestoreInstanceState()从不被调用.
有人以前见过吗?
解决方法
您正在使用的开发工具设置可能没有您期望的行为.
如果要测试onSaveInstanceState()/ onRestoreInstanceState(),最简单的方法是更改方向(< Ctrl> – < F11>).默认情况下,使用实例状态,销毁并重新创建您的活动.