«IME умер» и android.os.DeadObjectException - PullRequest
6 голосов
/ 31 октября 2011

Я тестирую свою игру на разных устройствах, и одно из них (Asus Garmin A10) вылетает случайно (3/5 раз), когда пользователь изменяет громкость (вверх / вниз) или нажимает кнопку меню или подобное. Это может быть собственный сбой, потому что я не получаю ACRA LogCat (мобильный телефон далеко от меня, я просто ACRA для его удаленной отладки). Пользователь рассказывает мне, что происходит. На моем HTC у меня просто раздражающее предупреждение, но игра работает нормально, ничего не происходит. Это предупреждение:

10-31 19: 52: 29.547: W / InputMethodManager (8441): IME умер: com.android.inputmethod.latin / .LatinIME сброс: KeyEvent {действие = 0 код = 25 повтор = 0 мета = 0 сканкод = 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 (собственный метод) 10-31 19: 52: 29.547: W / InputMethodManager (8441): на com.android.internal.view.IInputMethodSession $ Stub $ Proxy.dispatchKeyEvent (IInputMethodSession.java:277) 10-31 19: 52: 29.547: W / InputMethodManager (8441): at 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): в java.lang.reflect.Method.invokeNative (собственный метод) 10-31 19: 52: 29.547: W / InputMethodManager (8441): в java.lang.reflect.Method.invoke (Method.java:521) 10-31 19: 52: 29.547: W / InputMethodManager (8441): на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) 10-31 19: 52: 29.547: W / InputMethodManager (8441): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) 10-31 19: 52: 29.547: W / InputMethodManager (8441): at dalvik.system.NativeStart.main (собственный метод) 10-31 19: 52: 29.707: W / InputMethodManager (8441): IME умер: com.android.inputmethod.latin / .LatinIME сброс: KeyEvent {действие = 1 код = 25 повторений = 0 мета = 0 сканкод = 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 (собственный метод) 10-31 19: 52: 29.707: W / InputMethodManager (8441): на com.android.internal.view.IInputMethodSession $ Stub $ Proxy.dispatchKeyEvent (IInputMethodSession.java:277) 10-31 19: 52: 29.707: W / InputMethodManager (8441): at 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 (собственный метод) 10-31 19: 52: 29.707: W / InputMethodManager (8441): в java.lang.reflect.Method.invoke (Method.java:521) 10-31 19: 52: 29.707: W / InputMethodManager (8441): на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) 10-31 19: 52: 29.707: W / InputMethodManager (8441): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626)10-31 19: 52: 29.707: W / InputMethodManager (8441): в dalvik.system.NativeStart.main (собственный метод)

Такое предупреждение появляется каждый раз, когда я использую кнопку громкости, например. Я использую AndEngine в качестве 2D движка для игры. Я полагаю, что-то не так, но я не в состоянии справиться. Как я могу справиться с этой проблемой? Любое предложение?

1 Ответ

1 голос
/ 04 августа 2012

Кажется, что исключение выдается, когда пользовательский интерфейс не имел возможности обработать все ключевые события до того, как IME будет убит.Не уверен, почему это может произойти сбой на одном устройстве, но не на другом.

...