0
Dieser Code läuft auf einem Hintergrund Thema:Thread.sleep() bewirkt, dass ANR in Android
@Override
public void run() {
while (true) {
a = a+1;
try {
Thread.sleep(100);
}
catch (Throwable t) {
Log.e("","", t);
}
}
}
In Entwicklerkonsole sehe ich ANR Bericht:
ANR Eingang abgelaufen Dispatching (Waiting senden nicht-Schlüsselereignis, weil das berührte Fenster nicht beendet hat bestimmte Eingabeereignisse verarbeitet, die vor ihm über 500.0ms geliefert wurden.)
"myThread" prio=5 tid=7 SUSPENDED
| group="main" sCount=1 dsCount=0 obj=0x11111111 self=0x22222222
| sysTid=11111 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=333333333
| state=S schedstat=(0 0 0) utm=2 stm=3 core=1
at java.lang.VMThread.sleep (Native Method)
at java.lang.Thread.sleep (Thread.java:1013)
at java.lang.Thread.sleep (Thread.java:995)
at com.example.MyThread.run (MyThread.java:123)
Wie kann ich diese ANR beheben?
post vollständigen Code obwohl, warum Sie wollen, dass Ihr Thread weiter schlafen –
Nein, es ist auf Arbeitsfaden, und kann nicht ARN verursachen. Ihr Fehler kommt von einem anderen Codeblock. –