我正在监视Activity
生命周期以了解更多信息,因此我Log.d()
在几乎每个周期的方法中都进行了调用。
我特别看这个序列:
[A]onSaveInstanceState() - onPause() - onStop() - onDestroy() - onStart() - [B]onRestoreInstanceState()
查看活动生命周期
使用 Ctrl-F11 将 2.2 Froyo 模拟器从纵向切换到横向我可以看到从 [A] 到 [B] 的一轮。
令我感到奇怪的是,从横向切换回纵向我可以看到从 [A] 到 [B] 的两轮。
onSaveInstanceState() - onPause() - onStop() - onDestroy() - onStart() - onRestoreInstanceState()
onSaveInstanceState() - onPause() - onStop() - onDestroy() - onStart() - onRestoreInstanceState()
这给我带来了很多保存/恢复活动状态的问题。
怎么会这样?为什么会这样?
编辑:使用 2.3.3 Gingerbread 模拟器,序列只运行一次。但是 2.3.3 模拟器有一个已知的错误,它会阻止它正确旋转!