我的几个Android应用程序在logcat输出中显示以下类型消息:
I/UsageStats( 59): Unexpected resume of com.totsp.test while already resumed in com.totsp.test
在这种情况下,我通过让ADT工具生成它来创建默认的Hello World应用程序,它仍然会收到此消息。我在 onCreate 中没有做任何特别的事情,甚至没有定义任何其他方法。
我意识到这是一个INFO级别的消息,它似乎没有伤害任何东西,但我很好奇发生了什么,所以我做了一个测试应用程序,跟踪 onResume 调用。当发生这种情况时,确实会重新恢复。我想知道为什么会发生这种情况?虽然我没有注意到一个问题(除了这些烦人的日志消息),但似乎它可能会使用更多的资源来完成所有这些事情。
我在SO上搜索并阅读了类似的问题,答案对我来说似乎很可疑:Unexpected resume of "package name" while already resumed in ''package name" Error in Android。具体来说,不,你不想使用 android:configChanges =“orientation”,因为这只是颠覆了方向拆卸/恢复,而不是修复它。甚至文档都指出“应避免使用此属性,仅将其用作最后手段”(http://developer.android.com/intl/de/guide/topics/manifest/activity-element.html#config)。
此外,我在Android开发组中看到过线程,Murphy先生说“意外的简历”是“良性的”:http://groups.google.com/group/android-developers/browse_thread/thread/567410dbfcc163c2。
当我有机会的时候,我会深入了解消息来源,但我想我会首先问一下全知的hivemind,看看是否有人已经知道:为什么会发生这种情况,这真的是良性的吗?
答案 0 :(得分:7)
不要担心它,它只是来自某个内部状态跟踪的消息,这不是一个真正的问题(因此它是INFO级别)。我会确保在下一个平台版本中将其删除。
答案 1 :(得分:0)
每次出现此错误时,我的整个活动流都会发生变化,
但我已通过在清单文件中的活动中添加android:configChanges="orientation"
来处理此问题。
<activity android:name=".YourActivity" android:label="@string/app_name" android:configChanges="orientation" android:screenOrientation="nosensor">
希望这有助于你