我似乎对其他人都有相反的问题。 :)
每当我从一个活动导航到下一个活动时,我的onSaveInstanceState就会被调用。 我检查了LogCat,它肯定不会杀死活动。 另外,我看到onRestoreInstanceState在返回时没有被调用,因此它必须仍然在内存中。
我认为只有在释放记忆或改变方向时才会调用它。
答案 0 :(得分:5)
是的,暂停活动时会调用onSaveInstanceState()
。这是因为一旦活动暂停,Android可以随时终止进程(不调用任何其他生命周期方法)。如果在进程被终止之前恢复活动,Android会意识到它不需要调用onRestoreInstanceState()
,因此它不会进行该调用(这是一个优化)。
答案 1 :(得分:1)
医生怎么说;
"如果被调用,此方法将在onStop()之前发生。无论是在onPause()之前还是之后都无法保证。"