“IME死了”和android.os.DeadObjectException

时间:2011-10-31 19:33:22

标签: android ime

我在不同的设备上测试我的游戏,其中一个(Asus Garmin A10)在用户更改音量(上/下)或按下菜单按钮等时随机(3/5次)崩溃。它可能是本机崩溃,因为我没有收到ACRA logcat(手机远离我,我只是ACRA进行远程调试)。用户告诉我发生了什么。 在我的HTC上我只是一个恼人的警告,但游戏运行良好,没有任何反应。这是警告:

  

10-31 19:52:29.547:W / InputMethodManager(8441):IME死了:com.android.inputmethod.latin / .LatinIME drop:KeyEvent {action = 0 code = 25 repeat = 0 meta = 0 scancode = 114 mFlags = 8}   10-31 19:52:29.547:W / InputMethodManager(8441):android.os.DeadObjectException   10-31 19:52:29.547:W / InputMethodManager(8441):在android.os.BinderProxy.transact(Native Method)   10-31 19:52:29.547:W / InputMethodManager(8441):at com.android.internal.view.IInputMethodSession $ Stub $ Proxy.dispatchKeyEvent(IInputMethodSession.java:277)   10-31 19:52:29.547:W / InputMethodManager(8441):在android.view.inputmethod.InputMethodManager.dispatchKeyEvent(InputMethodManager.java:1344)   10-31 19:52:29.547:W / InputMethodManager(8441):在android.view.ViewRoot.deliverKeyEvent(ViewRoot.java:2426)   10-31 19:52:29.547:W / InputMethodManager(8441):在android.view.ViewRoot.handleMessage(ViewRoot.java:1741)   10-31 19:52:29.547:W / InputMethodManager(8441):在android.os.Handler.dispatchMessage(Handler.java:99)   10-31 19:52:29.547:W / InputMethodManager(8441):在android.os.Looper.loop(Looper.java:123)   10-31 19:52:29.547:W / InputMethodManager(8441):在android.app.ActivityThread.main(ActivityThread.java:4627)   10-31 19:52:29.547:W / InputMethodManager(8441):at java.lang.reflect.Method.invokeNative(Native Method)   10-31 19:52:29.547:W / InputMethodManager(8441):at java.lang.reflect.Method.invoke(Method.java:521)   10-31 19:52:29.547:W / InputMethodManager(8441):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)   10-31 19:52:29.547:W / InputMethodManager(8441):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)   10-31 19:52:29.547:W / InputMethodManager(8441):at dalvik.system.NativeStart.main(Native Method)   10-31 19:52:29.707:W / InputMethodManager(8441):IME死了:com.android.inputmethod.latin / .LatinIME drop:KeyEvent {action = 1 code = 25 repeat = 0 meta = 0 scancode = 114 mFlags = 8}   10-31 19:52:29.707:W / InputMethodManager(8441):android.os.DeadObjectException   10-31 19:52:29.707:W / InputMethodManager(8441):在android.os.BinderProxy.transact(Native Method)   10-31 19:52:29.707:W / InputMethodManager(8441):at com.android.internal.view.IInputMethodSession $ Stub $ Proxy.dispatchKeyEvent(IInputMethodSession.java:277)   10-31 19:52:29.707:W / InputMethodManager(8441):在android.view.inputmethod.InputMethodManager.dispatchKeyEvent(InputMethodManager.java:1344)   10-31 19:52:29.707:W / InputMethodManager(8441):在android.view.ViewRoot.deliverKeyEvent(ViewRoot.java:2426)   10-31 19:52:29.707:W / InputMethodManager(8441):在android.view.ViewRoot.handleMessage(ViewRoot.java:1741)   10-31 19:52:29.707:W / InputMethodManager(8441):在android.os.Handler.dispatchMessage(Handler.java:99)   10-31 19:52:29.707:W / InputMethodManager(8441):在android.os.Looper.loop(Looper.java:123)   10-31 19:52:29.707:W / InputMethodManager(8441):在android.app.ActivityThread.main(ActivityThread.java:4627)   10-31 19:52:29.707:W / InputMethodManager(8441):at java.lang.reflect.Method.invokeNative(Native Method)   10-31 19:52:29.707:W / InputMethodManager(8441):at java.lang.reflect.Method.invoke(Method.java:521)   10-31 19:52:29.707:W / InputMethodManager(8441):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)   10-31 19:52:29.707:W / InputMethodManager(8441):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)   10-31 19:52:29.707:W / InputMethodManager(8441):at dalvik.system.NativeStart.main(Native Method)

每次使用音量按钮时都会发生这种警告,例如。 我正在使用AndEngine作为游戏的2D引擎。 我想有些不对劲,但我无法应对。我该如何处理这个问题?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

当用户界面在IME被杀死之前没有机会处理所有关键事件时,似乎抛出异常。不知道为什么它会在一台设备上崩溃但不会在另一台设备上崩溃。