私はライフサイクルを監視して詳細を確認しているので、サイクルのほぼすべてのメソッドに呼び出しActivity
を入れています。Log.d()
私は特にシーケンスを見ています:
[A]onSaveInstanceState() - onPause() - onStop() - onDestroy() - onStart() - [B]onRestoreInstanceState()
Ctrl-F11 で 2.2 Froyo エミュレーターを縦向きから横向きに切り替える[A] から [B] までの1 つのラウンドが表示されます。
私にとって奇妙なのは、横向きから縦向きに切り替えると、[A] から [B] までの2 つのラウンドが見えることです。
onSaveInstanceState() - onPause() - onStop() - onDestroy() - onStart() - onRestoreInstanceState()
onSaveInstanceState() - onPause() - onStop() - onDestroy() - onStart() - onRestoreInstanceState()
これにより、アクティビティの状態を保存/復元する際に多くの問題が発生しています。
どうしてですか?なぜそうなのですか?
編集: 2.3.3 Gingerbread エミュレーターを使用すると、シーケンスは 1 回だけ実行されます。しかし、2.3.3 エミュレーターには、正常に回転しないという既知のバグがあります。