意外的“包名称”恢复,而在“包名称”已恢复在Android中的错误

如果改变手机或模拟器的方向,我会在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 

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

我search了一点点的错误信息,但我不完全明白它的意思。 我认为这可能意味着更改屏幕方向后,旧的Activity没有正确销毁。

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

Solutions Collecting From Web of "意外的“包名称”恢复,而在“包名称”已恢复在Android中的错误"

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

 android:configChanges="orientation" 

例:

 <activity android:name=".MyApp" android:configChanges="orientation" android:label="@string/app_name"> 

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

对于使用QWERTY键盘的设备

 android:configChanges="keyboardHidden|orientation" 

AdroidManifest.xml文件中android:configChanges =“orientation”的使用示例:

  <activity android:name=".Sound" android:configChanges="orientation" android:label="@string/app_name" android:debuggable="true" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

我首先在这里偶然发现,在阅读leventix在他的评论中提供的链接之后,我不禁想到这两个答案其实都是错误的。 然后,我发现以前的问题3851363是关于同样的问题。 信息是良性的。

纠正我,如果我错了,但我明白,configuration选项android:configChanges =“orientation”应该只用于当你想自己处理configuration更改,而不是通过典型的onDestroy / onCreate周期。

在正常情况下,当方向改变时,android-8似乎产生了不必要的错误。