BoardcastReceiver absturz, nach dem x. schleifendurchlauf

  • Antworten:1
  • Bentwortet
Martin Grulich
  • Forum-Beiträge: 56

05.04.2011, 20:00:54 via Website

Hi Leute,

ich habe einen BroadcastReceiver der so zeug in einer Schleife macht, bis er fertig ist.
Leider wird er beim ersten mal (wenn mehr Daten zu verarbeiten sind) immer irgendwann die Grätsche.
Folgendes Passiert im LogCat:

Am Anfang sieht man halt noch etwas von der Schleife und wenn es sich dann irgend wann mal wiederholt, kommt diese ganz böse ROTE Meldung mit dem ActivityManager.
Ich habe auch bereits gegooglet bin mir aber nicht sicher ob meine Annahme stimmt. Wenn ich das also richtig verstanden habe, tritt dieses Problem auf, weil das ganze "einfach" zu lange dauert. Ist aus meiner Sicht jedoch erwartet. Die Frage ist nur wie kann ich das ganze umgehen, das der da brav weiterläuft ?

Danke & Gruß Martin

104-05 17:37:52.502: DEBUG/EI112(954): Debug: 1.8.1
204-05 17:37:52.502: DEBUG/EI112(954): Debug: 1.8.2
304-05 17:37:52.512: DEBUG/EI112(954): Debug: 1.8.3
404-05 17:37:52.512: DEBUG/EI112(954): Debug: 1.8.4
504-05 17:37:52.542: DEBUG/EI112(954): Debug: 1.8.5
604-05 17:37:52.552: DEBUG/EI112(954): DebugRR: 1.7.1
704-05 17:37:52.552: DEBUG/EI112(954): DebugRR: 1.7.1.2.1
804-05 17:37:52.552: DEBUG/EI112(954): DebugRR: 1.7.1.2.2
904-05 17:37:52.562: DEBUG/EI112(954): DebugRR: 1.7.1.2.3
1004-05 17:37:52.562: DEBUG/EI112(954): Debug: 1.8.1
1104-05 17:37:52.562: DEBUG/EI112(954): Debug: 1.8.2
1204-05 17:37:52.632: DEBUG/EI112(954): Debug: 1.8.3
1304-05 17:37:52.672: ERROR/ActivityManager(61): ANR in de.einsatzinfo112.app.android
1404-05 17:37:52.672: ERROR/ActivityManager(61): Reason: Broadcast of Intent { flg=0x4 cmp=de.einsatzinfo112.app.android/.GetReportReceiver (has extras) }
1504-05 17:37:52.672: ERROR/ActivityManager(61): Load: 1.13 / 0.68 / 0.38
1604-05 17:37:52.672: ERROR/ActivityManager(61): CPU usage from 5024ms to 0ms ago:
1704-05 17:37:52.672: ERROR/ActivityManager(61): 92% 954/de.einsatzinfo112.app.android: 76% user + 15% kernel / faults: 106 minor
1804-05 17:37:52.672: ERROR/ActivityManager(61): 4.3% 41/adbd: 0.3% user + 3.9% kernel
1904-05 17:37:52.672: ERROR/ActivityManager(61): 0.6% 89/logcat: 0.1% user + 0.4% kernel
2004-05 17:37:52.672: ERROR/ActivityManager(61): 1.1% 61/system_server: 0.7% user + 0.3% kernel / faults: 2 minor
2104-05 17:37:52.672: ERROR/ActivityManager(61): 100% TOTAL: 78% user + 20% kernel + 0.3% irq + 0.3% softirq
2204-05 17:37:52.672: ERROR/ActivityManager(61): CPU usage from 819ms to 1405ms later:
2304-05 17:37:52.672: ERROR/ActivityManager(61): 32% 954/de.einsatzinfo112.app.android: 24% user + 7.4% kernel / faults: 2 minor
2404-05 17:37:52.672: ERROR/ActivityManager(61): 33% 954/112.app.android: 25% user + 7.4% kernel
2504-05 17:37:52.672: ERROR/ActivityManager(61): 32% 41/adbd: 1.6% user + 30% kernel
2604-05 17:37:52.672: ERROR/ActivityManager(61): 18% 41/adbd: 1.6% user + 16% kernel
2704-05 17:37:52.672: ERROR/ActivityManager(61): 6.7% 81/adbd: 0% user + 6.7% kernel
2804-05 17:37:52.672: ERROR/ActivityManager(61): 5% 82/adbd: 0% user + 5% kernel
2904-05 17:37:52.672: ERROR/ActivityManager(61): 15% 61/system_server: 8.4% user + 6.7% kernel
3004-05 17:37:52.672: ERROR/ActivityManager(61): 13% 74/ActivityManager: 6.7% user + 6.7% kernel
3104-05 17:37:52.672: ERROR/ActivityManager(61): 5% 89/logcat: 0% user + 5% kernel
3204-05 17:37:52.672: ERROR/ActivityManager(61): 100% TOTAL: 49% user + 44% kernel + 6.7% softirq

Antworten
Gelöschter Account
  • Forum-Beiträge: 294

05.04.2011, 22:53:04 via Website

ANR steht für Application Not Responding.

Ohne jetzt die Details zu wissen kann man an Hand dieser Meldung klar sagen das Du das System, wahrscheinlich das UI, blockierst. Je nach Kontext stehen Dir maximal 5 oder 10 Sekunden zur Verfügung.

Auch wenn Du das erwartest - das System erwartet das nicht. Lagere diesen Teil, der so lange dauern kann, in einen Thread aus oder verlagere ihn in einen Service. Da ich nicht weiß worum es bei Dir geht kann ich nicht konkreter werden. Das Geheimnis ist auf jeden Fall diesen Teil von der UI komplett zu trennen.

Gruss
Harald

— geändert am 05.04.2011, 22:53:51

Antworten