2011-03-30 66 views
0

我在监视Activity生命周期以了解更多信息,因此我几乎在周期的每个方法中都会调用Log.d()Android - 从景观到肖像的双生命周期序列

我看特别的顺序:

[A]onSaveInstanceState() - onPause() - onStop() - onDestroy() - onStart() - [B]onRestoreInstanceState() 

Activity Lifecycle

开关用Ctrl-F11 2.2 Froyo的仿真器从纵向到横向我可以看到[A 一个轮]到[B]。

什么是奇怪,我是切换回从横向到纵向我可以看到从[A]到[B] 轮。

onSaveInstanceState() - onPause() - onStop() - onDestroy() - onStart() - onRestoreInstanceState() 
onSaveInstanceState() - onPause() - onStop() - onDestroy() - onStart() - onRestoreInstanceState() 

这给我造成了很多保存/恢复活动状态的问题。

这怎么可能?为什么这样?

编辑:使用2.3.3姜饼模拟器,序列只运行一次。但2.3.3仿真器有一个已知的错误,阻止其正确旋转!

回答

1

模拟器中的旋转与加速器旋转不同。它实际上模拟了一个开放式键盘。 这是两个不同的事件,它们会导致两个不同的周期循环流。

+1

根据[使用Android模拟器](http://developer.android.com/guide/developing/devices/emulator.html),仅存在Ctrl-F11/F12至“切换到上一个/下一个布局方向” 。不是加速器旋转键吗?它怎么能被仿效?这是什么“不同的生命周期”流? – 2011-03-30 12:29:37

0

它发生在仿真器上的某些时候,在真实设备上检查它,它在真实设备上正常工作。