在"包名称"中已经恢复"包名"的意外恢复在Android中出错

Jan*_*usz 22 lifecycle android android-activity

如果更改手机或模拟器的方向,我在LogCat中获得以下输出:

04-09 11:55:26.290: INFO/WindowManager(52): Setting rotation to 1, animFlags=0
04-09 11:55:26.300: INFO/ActivityManager(52): Config changed: { scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/1 nav=3/1 orien=2 layout=18}
04-09 11:55:26.460: INFO/UsageStats(52): Unexpected resume of client while already resumed in client
04-09 11:55:26.579: INFO/SearchPosition(807):  Activity is paused
04-09 11:55:26.689: INFO/SearchPosition(807):  Activity is resuming
Run Code Online (Sandbox Code Playgroud)

SearchPosition是显示的活动.暂停活动是在onPause方法中写入的,而活动是在活动的onResume方法中恢复的.

我用google搜索了一下错误信息,但我并不完全理解它的含义.我认为这可能意味着在更改屏幕方向后旧的Activity未被正确销毁.

它是否正确?如果是,是什么导致错误?如果这不正确?这个输出是什么意思?

Jor*_*sys 12

将其添加到manifest.xml中的活动声明中:

android:configChanges="orientation"
Run Code Online (Sandbox Code Playgroud)

例:

<activity android:name=".MyApp" android:configChanges="orientation" android:label="@string/app_name">
Run Code Online (Sandbox Code Playgroud)

https://developer.android.com/guide/topics/manifest/activity-element.html#config

适用于带QWERTY键盘的设备

android:configChanges="keyboardHidden|orientation"
Run Code Online (Sandbox Code Playgroud)