android.os.DeadObjectException pojawia się w mojej grze na Androida

0

Dostaję bardzo często ten błąd w mojej grze na Androida. Stack trace wygląda nastepująco:

2020-11-07 11:05:51.916 3819-3855/? E/WindowManager: RemoteException occurs on reporting focusChanged, w=Window{a834684 u0 pl.jawegiel.endlessblow/pl.jawegiel.endlessblow.activities.Gra EXITING}
android.os.DeadObjectException
    at android.os.BinderProxy.transactNative(Native Method)
    at android.os.BinderProxy.transact(Binder.java:1145)
    at android.view.IWindow$Stub$Proxy.windowFocusChanged(IWindow.java:500)
    at com.android.server.wm.WindowState.reportFocusChangedSerialized(Unknown Source:41)
    at com.android.server.wm.WindowManagerService$H.handleMessage(Unknown Source:1754)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:214)
    at android.os.HandlerThread.run(HandlerThread.java:65)
    at com.android.server.ServiceThread.run(Unknown Source:12)

Nie wiem kiedy i gdzie to się dzieje.

Aby naprawić ten błąd otoczyłem całą metodę onCreate() blokiem try catch ale na próżno, żadne dodatkowe logi się nie wyświetliły.

Wyczytałem, że powinienem w takim przypadku nadpisać metodę onDestroy() ale w jaki sposób ona miałaby mi pomóc w znalezieniu martwego obiektu i gdzie ten błąd się pojawia i w jaki sposób ta nadpisana implementacja metody powinna wyglądać żeby wyprintować stack trace w logach?

1

Otoczenie czegokolwiek tryb catchem nie pomoze.

Tu masz odpowiedź czy tak się dzieje:
https://stackoverflow.com/a/13544505/2401535

0

@Roman Mokrzan: Piszą tam co to jest, a nie jak rozwiązać problem.

0

DeadObjectException oznacza, że dany obiekt nie istnieje bo powiązany z nim proces został zabity. Więc jeśli proces Twojej aplikacji został ubity to żaden try catch tutaj nie pomoże.

1 użytkowników online, w tym zalogowanych: 0, gości: 1