Ошибка ANR keyDispatchingTimedOut

Im, получая эту силовую ошибку в моем приложении, когда я пытаюсь разобрать RSS с DOM.it, это не всегда проблема с принудительной подачей, но … это logcat:

**ANR keyDispatchingTimedOut** DALVIK THREADS: "main" prio=5 tid=1 NATIVE | group="main" sCount=1 dsCount=0 s=N obj=0x40025b50 self=0xcdb8 | sysTid=2504 nice=0 sched=0/0 cgrp=bg_non_interactive handle=-1345017804 | schedstat=( 573577878 521301271 1476 ) at org.apache.harmony.luni.platform.OSNetworkSystem.readSocketImpl(Native Method) at org.apache.harmony.luni.platform.OSNetworkSystem.read(OSNetworkSystem.java:358) at org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:561) at org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:88) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl$ChunkedInputStream.read(HttpURLConnectionImpl.java:458) at java.io.InputStreamReader.read(InputStreamReader.java:275) at org.kxml2.io.KXmlParser.peek(KXmlParser.java:931) at org.kxml2.io.KXmlParser.pushText(KXmlParser.java:881) at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:354) at org.kxml2.io.KXmlParser.nextToken(KXmlParser.java:1406) at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:369) at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:362) at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:362) at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:362) at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:362) at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:135) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:110) at kostas.menu.olympiakos.DomFeedParser.parse(DomFeedParser.java:26) at kostas.menu.olympiakos.nea.loadFeed(nea.java:51) at kostas.menu.olympiakos.nea.onCreate(nea.java:38) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1066) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2799) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2866) at android.app.ActivityThread.access$2300(ActivityThread.java:140) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2181) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:143) at android.app.ActivityThread.main(ActivityThread.java:5097) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) at dalvik.system.NativeStart.main(Native Method) "Binder Thread #2" prio=5 tid=6 NATIVE | group="main" sCount=1 dsCount=0 s=N obj=0x46eea810 self=0x135a00 | sysTid=2509 nice=0 sched=0/0 cgrp=bg_non_interactive handle=1213600 | schedstat=( 10253904 21514895 127 ) at dalvik.system.NativeStart.run(Native Method) "Binder Thread #1" prio=5 tid=5 NATIVE | group="main" sCount=1 dsCount=0 s=N obj=0x46eea748 self=0x12cab0 | sysTid=2508 nice=0 sched=0/0 cgrp=bg_non_interactive handle=1301736 | schedstat=( 12603756 119659428 129 ) at dalvik.system.NativeStart.run(Native Method) "Compiler" daemon prio=5 tid=4 VMWAIT | group="system" sCount=1 dsCount=0 s=N obj=0x46ee32a8 self=0x127bc8 | sysTid=2507 nice=0 sched=0/0 cgrp=bg_non_interactive handle=1300256 | schedstat=( 197021496 268585180 1155 ) at dalvik.system.NativeStart.run(Native Method) "Signal Catcher" daemon prio=5 tid=3 RUNNABLE | group="system" sCount=0 dsCount=0 s=N obj=0x46ee31e8 self=0xa8140 | sysTid=2506 nice=0 sched=0/0 cgrp=bg_non_interactive handle=1299816 | schedstat=( 915528 5706786 7 ) at dalvik.system.NativeStart.run(Native Method) "HeapWorker" daemon prio=5 tid=2 VMWAIT | group="system" sCount=1 dsCount=0 s=N obj=0x45947800 self=0x1224b8 | sysTid=2505 nice=0 sched=0/0 cgrp=bg_non_interactive handle=1212984 | schedstat=( 27404784 3082276 24 ) at dalvik.system.NativeStart.run(Native Method) 

Ошибка ANR

Активность не отвечает.

Ваша деятельность заставила долго говорить об ОС Android «эй, я все еще жив»! (Это то, что делает поток пользовательского интерфейса).

http://developer.android.com/guide/practices/design/responsiveness.html

В основном, если вы делаете поток пользовательского интерфейса выполняете сложную задачу, он слишком занят, делая свою задачу, чтобы сообщить ОС, что она все еще «жива».

http://android-developers.blogspot.co.uk/2009/05/painless-threading.html

Вы должны перенести код XML Parsing в другой поток, а затем использовать обратный вызов, чтобы сообщить, что поток пользовательского интерфейса вы закончили, и что-то сделать с результатом.

http://developer.android.com/resources/articles/timed-ui-updates.html

Если Logcat не выводит ничего полезного, попробуйте вытащить traces.txt из /data/anr/traces.txt

Adb pull /data/anr/traces.txt.

Поскольку он может дать больше информации о том, где произошло исключение ANR

Не выполняйте блокирующие операции в потоке пользовательского интерфейса. Запустите собственный поток или используйте класс AsyncTask для более удобного способа решения этой проблемы.

Intereting Posts