Android ANR keyDispatchingTimedOut Fehler beim kontinuierlichen Antippen auf dem Bildschirm

9

Ich erhalte den Dialog "Anwendung reagiert nicht" (ANR), während kontinuierlich auf den Bildschirm getippt wird. Es gibt keine Ansicht auf dem Bildschirm, wo ich klopfe. Die Häufigkeit dieses Problems ist geringer, aber ich kann es nicht vollständig entfernen.

Hier füge ich das Protokoll an, was ich während dieses Fehlers gefangen habe.

%Vor%

Kann mir bitte jemand helfen, dieses Problem zu lösen?

Vielen Dank im Voraus.

    
user519846 25.12.2010, 08:42
quelle

4 Antworten

3

Normalerweise passiert es im onClick-Handler, der zeitraubende Aktivitäten wie das Abrufen von Ressourcen aus dem Netzwerk oder das Berechnen von etwas Komplexem ausführt. Verwenden Sie einen separaten Thread (UI-Thread), damit der onclick-Handler zurückkehren und der Window-Manager fortgesetzt werden kann.

Ссылка

Sie können Asynctask oder postDelayed in der Ansicht verwenden

    
Dileep 09.06.2011 06:11
quelle
1

Wie in diese Antwort before: Das passiert, wenn ein Klick, eine Berührung, ein Schlüssel usw. den UI-Thread blockiert.

Lustig genug, das gleiche ist mir passiert und es war auch (sehr) selten. Mein Problem war eine binäre Suche basierend auf Float-Werten (nicht beabsichtigt und sehr dumm ;-). Manchmal ändern sich die Suchkriterien nicht mehr und ich habe eine Endlosschleife bekommen.

Mein Vorschlag: Wenn Sie niemals schwere Arbeiten ausführen wollten, die den UI-Thread blockieren könnten, versuchen Sie, in Ihrem Code nach einer möglichen Endlosschleife zu suchen.

    
Knickedi 29.09.2011 01:56
quelle
0

Es gibt eine Beschränkung von 100 KB Daten, die von einer Aktivität zu einer anderen übertragen werden. Wenn es das Limit überschreitet, kommt der angegebene Fehler.

Hier ist Ссылка

Ich habe den gleichen Fehler, als ich eine riesige Arraylist übergeben habe. Diese Arraylist war ich und holte sie vom Server. Versuchen Sie es also. Vielleicht löst es dein Problem.

    
Ruchi 02.02.2012 04:55
quelle
0

Wenn Sie eine ressourcenintensive Aufgabe ausführen, kann dies passieren. Beim Fortsetzen der Aktivität.

  • Versuchen Sie, all Ihre intensive Arbeit bei onPause zu beenden und dann neu zu starten es auf onResume. Wenn Sie die Karte auf der Aktivitätszeichnung einblenden, auf Es stoppt dann das Aktualisieren der Overlays während des Schlafs und und aktualisieren es auf onResume. Verwenden Sie Threads für intensive Aufgaben.
Rajesh Narwal 15.10.2013 11:27
quelle

Tags und Links