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 回答