0

横向きのアプリケーションで AndEngine を使用しています。アプリを実行した後、デバイスの電源を切り、再度電源を入れます。デバイスを縦向きモードに回転させた後、画面のロックを解除しています。これで私の申請は完了です。

アクティビティを再作成する前に、次のシーケンス実行メソッドがあります

02-06 16:13:57.317: W/OnCreate(2722): Tadammmmmmmmmm!!!
02-06 16:13:57.356: W/onLoadEngine(2722): Tadammmmmmmmmm!!!
02-06 16:13:58.270: W/onStart(2722): Tadammmmmmmmmm!!!
02-06 16:13:58.457: W/onResume(2722): Tadammmmmmmmmm!!!
02-06 16:13:58.942: W/onWindowFocusChanged(2722): Tadammmmmmmmmm!!!
02-06 16:13:58.942: W/onLoadScene(2722): Tadammmmmmmmmm!!!
02-06 16:13:59.122: W/onLoadComplete(2722): Tadammmmmmmmmm!!!
02-06 16:13:59.129: W/onResumeGame(2722): Tadammmmmmmmmm!!!
02-06 16:14:31.965: W/onPause(2722): Tadammmmmmmmmm!!!
02-06 16:14:32.137: W/onStop(2722): Tadammmmmmmmmm!!!
02-06 16:14:32.598: W/onWindowFocusChanged(2722): Tadammmmmmmmmm!!!
02-06 16:14:43.536: W/onDestroy(2722): Tadammmmmmmmmm!!!

次に、デバイスを回転させた後、画面のロックを解除する前に次のシーケンスがあります

02-06 17:44:05.661: W/OnCreate(8784): Tadammmmmmmmmm!!!
02-06 17:44:05.684: W/onLoadEngine(8784): Tadammmmmmmmmm!!!
02-06 17:44:06.067: W/onStart(8784): Tadammmmmmmmmm!!!
02-06 17:44:06.122: W/onResume(8784): Tadammmmmmmmmm!!!
02-06 17:44:06.145: W/onPause(8784): Tadammmmmmmmmm!!!
02-06 17:44:07.942: W/onStop(8784): Tadammmmmmmmmm!!!

次に、画面のロックを解除した後、次のシーケンスがあります

02-06 17:44:12.387: W/onStart(8784): Tadammmmmmmmmm!!!
02-06 17:44:12.450: W/onResume(8784): Tadammmmmmmmmm!!!
02-06 17:44:12.543: W/onPause(8784): Tadammmmmmmmmm!!!
02-06 17:44:12.551: W/onStop(8784): Tadammmmmmmmmm!!!
02-06 17:44:12.590: W/onDestroy(8784): Tadammmmmmmmmm!!!

完全な再作成アクティビティの必要性がわかりません。また、向きを横向きから縦向きに変更しません。問題は、アクティビティが完全に再作成されず、終了していない理由です。

答えが見つかりました - マニフェスト android:configChanges="...|screenSize" に追加して、アクティビティを再作成しないでください。

4

1 に答える 1

0

ローテーション中には、アプリケーションに関するほとんどすべてが変更される可能性があることがわかりました。たとえば、layout-port と layout-land で異なるレイアウトを持つアプリケーションを考えてみましょう。これらのレイアウトには、異なるフォント、異なるビュー ツリー、すべてが異なる可能性があります。このような状況では、Activity を完全に再作成することが最も効果的です。

明るい面を見ろ!C-F11 は、アプリケーションのライフサイクル メソッドに関する完全なカバレッジ テストを生成する方法です。

于 2013-02-06T15:15:21.473 に答える