始终调用onSaveInstanceState

时间:2012-11-13 09:11:46

标签: android android-activity savestate

我似乎对其他人都有相反的问题。 :)

每当我从一个活动导航到下一个活动时,我的onSaveInstanceState就会被调用。 我检查了LogCat,它肯定不会杀死活动。 另外,我看到onRestoreInstanceState在返回时没有被调用,因此它必须仍然在内存中。

我认为只有在释放记忆或改变方向时才会调用它。

2 个答案:

答案 0 :(得分:5)

是的,暂停活动时会调用onSaveInstanceState()。这是因为一旦活动暂停,Android可以随时终止进程(不调用任何其他生命周期方法)。如果在进程被终止之前恢复活动,Android会意识到它不需要调用onRestoreInstanceState(),因此它不会进行该调用(这是一个优化)。

答案 1 :(得分:1)

医生怎么说;

"如果被调用,此方法将在onStop()之前发生。无论是在onPause()之前还是之后都无法保证。"