0

私はライフサイクルを監視して詳細を確認しているので、サイクルのほぼすべてのメソッドに呼び出し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 エミュレーターには、正常に回転しないという既知のバグがあります。

4

2 に答える 2

1

エミュレーターの回転は、アクセラレーターの回転とは異なります。実際には、オープンキーボードをシミュレートします。これらは2つの異なるイベントであり、2つの異なるリファイサイクルフローを引き起こします。

于 2011-03-30T10:57:25.383 に答える
0

エミュレーターで時々発生します。実際のデバイスで確認してください。実際のデバイスで正しく動作します。

于 2013-11-18T12:36:27.660 に答える