查找窗口失败 - 来自2个星系关系的相同应用程序的不同行为

ejo*_*041 8 android android-activity android-4.0-ice-cream-sandwich

我有两部Galaxy Nexus手机.手机是相同的固件版本4.0.2,相同的内部版本号,相同的内核版本.当我使用Eclipse将相同的应用程序部署到两个手机时,我看到每个手机都有不同的行为.

在一部手机上,一切都按预期工作.在另一部手机上,当切换到另一个活动并返回到主活动时,主活动崩溃,通过后退按钮和其他活动完成并返回到创建它的活动.我遇到这个问题的唯一线索是这个错误:

04-18 17:43:30.811: I/ActivityManager(207): Displayed org.mitre.Mobile/.Activities.QueryActivity: +430ms
04-18 17:43:30.819: I/n*.w*.w*.ZoomButtonsCo*(4962): invoke: onVisibilityChanged listener: org.osmdroid.views.MapView$MapViewZoomListener@4181ecd8
04-18 17:43:30.843: E/InputQueue-JNI(4962): channel '41d66628 Panel:org.mitre.Mobile/org.mitre.Mobile.Activities.MobileActivity (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
04-18 17:43:30.843: W/WindowManager(207): Force-removing child win Window{41d66628 Panel:org.mitre.Mobile/org.mitre.Mobile.Activities.MobileActivity paused=false} from container Window{420815c8 org.mitre.Mobile/org.mitre.Mobile.Activities.MobileActivity paused=false}
04-18 17:43:30.850: W/WindowManager(207): Failed looking up window
04-18 17:43:30.850: W/WindowManager(207): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@41f9e658 does not exist
04-18 17:43:30.850: W/WindowManager(207):   at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7029)
04-18 17:43:30.850: W/WindowManager(207):   at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7020)
04-18 17:43:30.850: W/WindowManager(207):   at com.android.server.wm.WindowManagerService.removeWindow(WindowManagerService.java:2180)
04-18 17:43:30.850: W/WindowManager(207):   at com.android.server.wm.Session.remove(Session.java:149)
04-18 17:43:30.850: W/WindowManager(207):   at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:124)
04-18 17:43:30.850: W/WindowManager(207):   at com.android.server.wm.Session.onTransact(Session.java:111)
04-18 17:43:30.850: W/WindowManager(207):   at android.os.Binder.execTransact(Binder.java:338)
04-18 17:43:30.850: W/WindowManager(207):   at dalvik.system.NativeStart.run(Native Method)
Run Code Online (Sandbox Code Playgroud)

我没有在互联网上找到任何与此错误消息相关的有用信息.我有一些android的经验,但这个真的让我难过.我最初认为这是一个新星发射器问题(有问题的手机有它),但我在另一部手机上安装了nova,仍然看到了相同的行为.

应用程序无法正常工作的手机是我的个人手机,另一个是工作手机.

ejo*_*041 0

刚刚发现为什么每个活动都会消失。在“设置”>“开发人员选项”中,有一个名为“不保留活动”的复选框“用户离开后立即销毁所有活动”。该框已被选中。我刚刚取消选中它。这就解释了一切。

  • @AndrewS - 对于您的应用程序来说,在低内存条件下保持稳健非常重要。启用该选项可以模拟操作系统的主动清理。 (9认同)
  • @elliptic1这个答案解释了为什么OP的设备表现不同。但根本原因是应用程序做了不应该做的事情。您可能没有选中该开发人员选项,但这并不意味着您的应用程序没有仍在执行不应执行的操作。如果您收到该错误,则可能是这样。请阅读 tdevaux 的评论并进一步阅读该主题。 (2认同)