Android 在线程转储中看到什么

Android 在线程转储中看到什么,android,android-anr-dialog,thread-dump,Android,Android Anr Dialog,Thread Dump,我在Google Play Market上发布了一些应用程序,在我的主要活动中,我不断收到keyDispatchingTimedOut的ANR(应用程序无响应)报告。正如你所知,谷歌为我提供了一个线程转储。我不知道如何分析它,我应该仔细看哪一部分 我在eclipse中使用虚拟设备对所有android版本的应用程序进行了测试,结果都很好 下面是我的线程转储中的几行,完整的列表非常长 DALVIK THREADS: (mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 h

我在Google Play Market上发布了一些应用程序,在我的主要活动中,我不断收到
keyDispatchingTimedOut
的ANR(应用程序无响应)报告。正如你所知,谷歌为我提供了一个
线程转储
。我不知道如何分析它,我应该仔细看哪一部分

我在eclipse中使用虚拟设备对所有android版本的应用程序进行了测试,结果都很好

下面是我的线程转储中的几行,完整的列表非常长

DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)
"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4002a278 self=0xcf50
| sysTid=142 nice=0 sched=0/0 cgrp=default handle=-1345006528
at com.android.server.SystemServer.init1(Native Method)
at com.android.server.SystemServer.main(SystemServer.java:701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)

"loc_api" prio=5 tid=52 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x408df0a8 self=0x263238
| sysTid=521 nice=0 sched=0/0 cgrp=default handle=2593632
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #9" prio=5 tid=44 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x406f41d8 self=0x26a7a0
| sysTid=435 nice=0 sched=0/0 cgrp=default handle=2714632
at dalvik.system.NativeStart.run(Native Method)

"DHCP Handler Thread" prio=5 tid=54 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4077a508 self=0x25f700
| sysTid=356 nice=0 sched=0/0 cgrp=default handle=2500272
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:119)
at android.os.Looper.loop(Looper.java:117)
at android.os.HandlerThread.run(HandlerThread.java:60)

非常感谢您的帮助。

我目前也遇到同样的问题。Google Play控制台中的ANR无情地切断了有趣的部分。但是我能够复制一次,并且
adb logcat
给了我以下输出:

W/ActivityManager(  340): Launch timeout has expired, giving up wake lock!
W/ActivityManager(  340): Activity idle timeout for HistoryRecord{40bb6948
这将导致福林stackoverflow条目:

文章建议检查GlobalChangeListener是否会导致活动布局的循环失效,至少我们的应用程序是这样。但此错误并不总是以ANR结束:

也许这会有帮助