Warum Android eine App in ANR behandelt, wenn es im Looper wartet

8

In meinem Android Logcat Log sehe ich:

%Vor%

Und wenn ich dann zu /data/anr/traces.txt gehe, sehe ich

%Vor%

Meine Frage ist, warum android denkt, dass die App in ANR ist, wenn der Stack-Trace den Haupt-Thread in Looper auf Nachricht wartet? Das kommt mir normal vor. Ich verstehe Android zeigt ANR, wenn der Hauptthread etwas herunterlädt / eine lange Operation macht. Aber es scheint normal, dass es auf eine Nachricht wartet. Bitte klau mich, wenn ich falsch liege.

    
michael 20.11.2012, 21:55
quelle

1 Antwort

2

Ich habe diesen interessanten Fehlerbericht gefunden:

Ссылка

Kurze Zusammenfassung ist, dass ein Fehler im NDK-Wrapper-Code zu sein scheint, was bedeutet, dass Ereignisse, die von mehreren Quellen kommen, einen ANR verursachen können. Das passt genau zu meinem Anwendungsfall --- Ich habe eine NDK-App, deren Arbeit in Hintergrundthreads und einem Gamepad geschieht, und die ANR, die ich bekommen habe, entspricht genau der, die du beschrieben hast und die im Fehlerbericht.

Ähnelt das Ihrer Konfiguration?

Update: Weitere Informationen: Ссылка

Nachdem ich die in seinem Blog beschriebene Lösung angewendet habe, scheint es mir nicht mehr möglich zu sein, die ANR wieder zu manifestieren. Das heißt aber nicht, dass es weg ist ...

    
David Given 18.01.2013 16:39
quelle

Tags und Links