ANR in Aktivität für Broadcast von Intents

8

Ich bekomme diesen Fehler immer wieder. Kann mir jemand sagen, was es bedeutet oder wie ich es repariere? Danke

07-03 08: 27: 13.615: FEHLER / ActivityManager (61): ANR in com.fttech.books

07-03 08: 27: 13.615: FEHLER / ActivityManager (61): Grund: Broadcast der Absicht {act = android.intent.action.TIME_TICK flg = 0x40000004 (hat Extras)}

    
tj walker 03.07.2011, 08:29
quelle

2 Antworten

14

ANR steht für "Anwendung reagiert nicht". Diese Nachricht bedeutet, dass Ihre Anwendung nicht mehr auf den Benutzer reagiert. Normalerweise wird diese Ausnahme ausgelöst, wenn der UI-Thread durch eine Operation blockiert wird, die länger als 5 Sekunden dauert. Hier finden Sie einige Informationen zu diesem Thema .

  

Android-Anwendungen laufen normalerweise vollständig auf einem einzigen (d. h. Haupt) -Thread. Dies bedeutet, dass alles, was Ihre Anwendung im Hauptthread ausführt, mit einer langen Ausführungszeit den ANR-Dialog auslösen kann, da Ihre Anwendung selbst keine Chance hat, das Eingabeereignis oder Intent-Broadcast zu verarbeiten.

Überprüfen Sie also Ihren Code, wenn Sie lange laufende Vorgänge im Benutzeroberflächen-Thread ausführen.

    
Flo 03.07.2011, 09:33
quelle
1

Flo ist völlig richtig in seiner Erklärung des Problems.
In meinem Fall hat das Setzen einiger Breakpoints in der Methode onReceive () und der Versuch, eine Aktivität mit einem Intent zu starten, dazu geführt, dass das Debugging unterbrochen wurde. Ich kann das Problem perfekt reproduzieren.

Die Lösung besteht darin, alle Haltepunkte zu deaktivieren und sie am Anfang der neuen Aktivität festzulegen, oder wenn Sie onReceive () debuggen müssen, protokollieren Sie, was dort mit Log () Funktion.
Es könnte auch andere Fehler im Code geben, die das Debug brechen können.

    
xtrm 28.05.2013 15:39
quelle

Tags und Links