解决方案 »

  1.   

    trace.txt:
    ----- pid 7889 at 2014-03-12 17:24:30 -----
    Cmd line: com.aaa.appet2DALVIK THREADS:
    (mutexes: tll=0 tsl=0 tscl=0 ghl=0)
    "main" prio=5 tid=1 NATIVE
      | group="main" sCount=1 dsCount=0 obj=0x41059460 self=0x129a0
      | sysTid=7889 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1074082952
      | schedstat=( 0 0 0 ) utm=3019 stm=719 core=0
      at android.os.MessageQueue.nativePollOnce(Native Method)
      at android.os.MessageQueue.next(MessageQueue.java:118)
      at android.os.Looper.loop(Looper.java:118)
      at android.app.ActivityThread.main(ActivityThread.java:4424)
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:511)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:579)
      at dalvik.system.NativeStart.main(Native Method)"Thread-277" daemon prio=5 tid=31 TIMED_WAIT
      | group="main" sCount=1 dsCount=0 obj=0x427c7e98 self=0x954fb0
      | sysTid=8441 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=3585024
      | schedstat=( 0 0 0 ) utm=0 stm=0 core=1
      at java.lang.VMThread.sleep(Native Method)
      at java.lang.Thread.sleep(Thread.java:1031)
      at java.lang.Thread.sleep(Thread.java:1013)
      at com.aaa.appet2.command.TimeoutThread.run(TimeoutThread.java:33)"Binder Thread #4" prio=5 tid=30 NATIVE
      | group="main" sCount=1 dsCount=0 obj=0x42c7d1e8 self=0x7c73c0
      | sysTid=8375 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=9263432
      | schedstat=( 0 0 0 ) utm=0 stm=1 core=1
      at dalvik.system.NativeStart.run(Native Method)"Thread-215" prio=1 tid=27 SUSPENDED
      | group="main" sCount=1 dsCount=0 obj=0x4252d0f8 self=0x341560
      | sysTid=8003 nice=19 sched=0/0 cgrp=[no-cpu-subsys] handle=3903776
      | schedstat=( 0 0 0 ) utm=255 stm=740 core=1
      at libcore.io.Posix.writeBytes(Native Method)
      at libcore.io.Posix.write(Posix.java:178)
      at libcore.io.BlockGuardOs.write(BlockGuardOs.java:191)
      at libcore.io.IoBridge.write(IoBridge.java:447)
      at java.io.RandomAccessFile.write(RandomAccessFile.java:692)
      at com.aaa.appet2.component.downLoad.DownLoadTask.run(DownLoadTask.java:96)"Thread-213" prio=5 tid=28 TIMED_WAIT
      | group="main" sCount=1 dsCount=0 obj=0x42d2ba98 self=0x7b7f88
      | sysTid=7989 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=6525952
      | schedstat=( 0 0 0 ) utm=70 stm=150 core=0
      at java.lang.VMThread.sleep(Native Method)
      at java.lang.Thread.sleep(Thread.java:1031)
      at java.lang.Thread.sleep(Thread.java:1013)
      at com.aaa.appet2.component.downLoad.DownLoadFile.download(DownLoadFile.java:583)
      at com.aaa.appet2.component.downLoad.DownLoadFileList$1.run(DownLoadFileList.java:381)
      at java.lang.Thread.run(Thread.java:856)"AsyncTask #5" prio=5 tid=14 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x42662288 self=0x7d2368
      | sysTid=7987 nice=10 sched=0/0 cgrp=[no-cpu-subsys] handle=7742888
      | schedstat=( 0 0 0 ) utm=11 stm=20 core=1
      at java.lang.Object.wait(Native Method)
      - waiting on <0x42d25ea8> (a java.lang.VMThread) held by tid=14 (AsyncTask #5)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"AsyncTask #4" prio=5 tid=25 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x4254d3e8 self=0x6b1f60
      | sysTid=7965 nice=10 sched=0/0 cgrp=[no-cpu-subsys] handle=6828728
      | schedstat=( 0 0 0 ) utm=12 stm=19 core=0
      at java.lang.Object.wait(Native Method)
      - waiting on <0x41528710> (a java.lang.VMThread) held by tid=25 (AsyncTask #4)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"AsyncTask #3" prio=5 tid=24 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x42686a50 self=0x593748
      | sysTid=7964 nice=10 sched=0/0 cgrp=[no-cpu-subsys] handle=4914232
      | schedstat=( 0 0 0 ) utm=0 stm=2 core=1
      at java.lang.Object.wait(Native Method)
      - waiting on <0x42569bf0> (a java.lang.VMThread) held by tid=24 (AsyncTask #3)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"AsyncTask #2" prio=5 tid=23 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x42525088 self=0x557660
      | sysTid=7961 nice=10 sched=0/0 cgrp=[no-cpu-subsys] handle=5621672
      | schedstat=( 0 0 0 ) utm=5 stm=0 core=0
      at java.lang.Object.wait(Native Method)
      - waiting on <0x425460b8> (a java.lang.VMThread) held by tid=23 (AsyncTask #2)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"pool-1-thread-1" prio=5 tid=22 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x42539e20 self=0x395f48
      | sysTid=7955 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1475600
      | schedstat=( 0 0 0 ) utm=81 stm=6 core=1
      at java.lang.Object.wait(Native Method)
      - waiting on <0x42513940> (a java.lang.VMThread) held by tid=22 (pool-1-thread-1)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"Binder Thread #3" prio=5 tid=21 NATIVE
      | group="main" sCount=1 dsCount=0 obj=0x42672f90 self=0x3874e0
      | sysTid=7954 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=3703032
      | schedstat=( 0 0 0 ) utm=4 stm=2 core=1
      at dalvik.system.NativeStart.run(Native Method)"pool-2-thread-5" prio=5 tid=20 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x41d16970 self=0x309b80
      | sysTid=7933 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=3186640
      | schedstat=( 0 0 0 ) utm=310 stm=97 core=0
      at java.lang.Object.wait(Native Method)
      - waiting on <0x4164cd08> (a java.lang.VMThread) held by tid=20 (pool-2-thread-5)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)
      

  2.   


    "pool-2-thread-4" prio=5 tid=19 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x42508fa0 self=0x3091e0
      | sysTid=7932 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=3184176
      | schedstat=( 0 0 0 ) utm=323 stm=138 core=1
      at java.lang.Object.wait(Native Method)
      - waiting on <0x41cd2378> (a java.lang.VMThread) held by tid=19 (pool-2-thread-4)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"pool-2-thread-3" prio=5 tid=17 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x41cfd3a8 self=0x3087c8
      | sysTid=7931 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=3181592
      | schedstat=( 0 0 0 ) utm=330 stm=91 core=1
      at java.lang.Object.wait(Native Method)
      - waiting on <0x41ce6648> (a java.lang.VMThread) held by tid=17 (pool-2-thread-3)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"pool-2-thread-2" prio=5 tid=16 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x41d03f10 self=0x308070
      | sysTid=7930 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=3179712
      | schedstat=( 0 0 0 ) utm=388 stm=135 core=0
      at java.lang.Object.wait(Native Method)
      - waiting on <0x41ce6bc8> (a java.lang.VMThread) held by tid=16 (pool-2-thread-2)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"AsyncTask #1" prio=5 tid=18 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x42549368 self=0x313488
      | sysTid=7926 nice=10 sched=0/0 cgrp=[no-cpu-subsys] handle=3106840
      | schedstat=( 0 0 0 ) utm=4 stm=2 core=0
      at java.lang.Object.wait(Native Method)
      - waiting on <0x4253ae10> (a java.lang.VMThread) held by tid=18 (AsyncTask #1)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"pool-2-thread-1" prio=5 tid=15 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x415355e8 self=0x300630
      | sysTid=7923 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=3036472
      | schedstat=( 0 0 0 ) utm=436 stm=186 core=0
      at java.lang.Object.wait(Native Method)
      - waiting on <0x42503790> (a java.lang.VMThread) held by tid=15 (pool-2-thread-1)
      at java.lang.Thread.parkFor(Thread.java:1231)
      at sun.misc.Unsafe.park(Unsafe.java:323)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
      at java.lang.Thread.run(Thread.java:856)"GLThread 191" prio=5 tid=13 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x426859a8 self=0x2fc0f8
      | sysTid=7922 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=3129400
      | schedstat=( 0 0 0 ) utm=7261 stm=777 core=1
      at java.lang.Object.wait(Native Method)
      - waiting on <0x4145ae30> (a android.opengl.GLSurfaceView$GLThreadManager)
      at java.lang.Object.wait(Object.java:364)
      at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1421)
      at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1218)"Timer-0" prio=5 tid=12 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x42684688 self=0x2fb8f0
      | sysTid=7921 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=3128640
      | schedstat=( 0 0 0 ) utm=15 stm=20 core=0
      at java.lang.Object.wait(Native Method)
      - waiting on <0x42684688> (a java.util.Timer$TimerImpl)
      at java.lang.Object.wait(Object.java:364)
      at java.util.Timer$TimerImpl.run(Timer.java:214)"Thread-182" prio=5 tid=11 NATIVE
      | group="main" sCount=1 dsCount=0 obj=0x41cedb78 self=0x2174e8
      | sysTid=7908 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1641784
      | schedstat=( 0 0 0 ) utm=78 stm=45 core=0
      at android.os.MessageQueue.nativePollOnce(Native Method)
      at android.os.MessageQueue.next(MessageQueue.java:118)
      at android.os.Looper.loop(Looper.java:118)
      at com.aaa.appet2.command.Processor.run(Processor.java:255)"Binder Thread #2" prio=5 tid=10 NATIVE
      | group="main" sCount=1 dsCount=0 obj=0x41cd38f8 self=0x16c2e0
      | sysTid=7901 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1660096
      | schedstat=( 0 0 0 ) utm=6 stm=4 core=1
      at dalvik.system.NativeStart.run(Native Method)"Binder Thread #1" prio=5 tid=9 NATIVE
      | group="main" sCount=1 dsCount=0 obj=0x41cd46b8 self=0x1c5818
      | sysTid=7900 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1953464
      | schedstat=( 0 0 0 ) utm=2 stm=1 core=1
      at dalvik.system.NativeStart.run(Native Method)"FinalizerWatchdogDaemon" daemon prio=5 tid=8 TIMED_WAIT
      | group="main" sCount=1 dsCount=0 obj=0x41cd5978 self=0x20ed18
      | sysTid=7899 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1579080
      | schedstat=( 0 0 0 ) utm=1 stm=0 core=0
      at java.lang.VMThread.sleep(Native Method)
      at java.lang.Thread.sleep(Thread.java:1031)
      at java.lang.Thread.sleep(Thread.java:1013)
      at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:213)
      at java.lang.Thread.run(Thread.java:856)"FinalizerDaemon" daemon prio=5 tid=7 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x41cd5d38 self=0x228bc0
      | sysTid=7898 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1838944
      | schedstat=( 0 0 0 ) utm=46 stm=19 core=0
      at java.lang.Object.wait(Native Method)
      - waiting on <0x4104f5d0> (a java.lang.ref.ReferenceQueue)
      at java.lang.Object.wait(Object.java:401)
      at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
      at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
      at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
      at java.lang.Thread.run(Thread.java:856)"ReferenceQueueDaemon" daemon prio=5 tid=6 WAIT
      | group="main" sCount=1 dsCount=0 obj=0x41cd6148 self=0x1c3fb0
      | sysTid=7897 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1838848
      | schedstat=( 0 0 0 ) utm=9 stm=4 core=0
      at java.lang.Object.wait(Native Method)
      - waiting on <0x4104f4f8> 
      at java.lang.Object.wait(Object.java:364)
      at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:128)
      at java.lang.Thread.run(Thread.java:856)"Compiler" daemon prio=5 tid=5 VMWAIT
      | group="system" sCount=1 dsCount=0 obj=0x41cd6508 self=0x214938
      | sysTid=7896 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1557176
      | schedstat=( 0 0 0 ) utm=194 stm=144 core=1
      at dalvik.system.NativeStart.run(Native Method)"JDWP" daemon prio=5 tid=4 VMWAIT
      | group="system" sCount=1 dsCount=0 obj=0x41cd6fe8 self=0x21d378
      | sysTid=7895 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1958360
      | schedstat=( 0 0 0 ) utm=1 stm=1 core=1
      at dalvik.system.NativeStart.run(Native Method)"Signal Catcher" daemon prio=5 tid=3 RUNNABLE
      | group="system" sCount=0 dsCount=0 obj=0x41cd87d0 self=0xcfb40
      | sysTid=7893 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=2262368
      | schedstat=( 0 0 0 ) utm=4 stm=11 core=1
      at dalvik.system.NativeStart.run(Native Method)"GC" daemon prio=5 tid=2 VMWAIT
      | group="system" sCount=1 dsCount=0 obj=0x41cd9f70 self=0x1570a8
      | sysTid=7890 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=2047736
      | schedstat=( 0 0 0 ) utm=760 stm=77 core=0
      at dalvik.system.NativeStart.run(Native Method)----- end 7889 -----
      

  3.   

    Android自带的定位不行,推荐用三方定位。比如百度,高德。很容易集成,且精准,快捷。
      

  4.   


    大哥,我这个是ANR,定位不到问题在哪,不是GPS定位。
      

  5.   

    1.若用三方定位,则很快就能定位(5秒以内),所以不会出现Application Not Response异常
    2.你现在出现ANR异常,估计是把定位这个耗时的操作写在了UI线程中了。。
      

  6.   

    大哥你好,不好意思,我标题没写清楚。
    不是应用程序定位不到地理位置,是我应用商店运行时出现ANR,我找不到原因,确定不了引起问题原因在哪。
    和地理位置的定位没有关系,log和trace都贴出来了,是消息队列堵塞了,我看了下我业务逻辑处理都是在线程中运行,UI线程都是处理UI的业务。
    请各位大神,帮忙分析log,看ANR是哪里引起的,谢谢!
      

  7.   

    第一步,先pull出/data/anr/traces.txt文件。
    第二步,查看app被杀死时的进程id,你这里我看是7889。
    第三步,查看traces.txt里关于该进程id的信息。
      

  8.   

    是不是就这里,sleep过久了?
     | sysTid=7899 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1579080
      | schedstat=( 0 0 0 ) utm=1 stm=0 core=0
      at java.lang.VMThread.sleep(Native Method)
      at java.lang.Thread.sleep(Thread.java:1031)
      at java.lang.Thread.sleep(Thread.java:1013)
      at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:213)
      at java.lang.Thread.run(Thread.java:856)
      

  9.   

    大哥你好,为什么定位到这里呢?这里是系统的watchdog线程,代码没有对这个线程进行操作哦。
    不是只看main线程就可以了么?main线程只显示message queue异常,我看了下UI线程Handler的处理都是UI控件的处理没有耗时或者block的操作。
    请大神再指点一下,谢谢!
      

  10.   

    DALVIK THREADS:
    (mutexes: tll=0 tsl=0 tscl=0 ghl=0)
    "main" prio=5 tid=1 NATIVE
      | group="main" sCount=1 dsCount=0 obj=0x41059460 self=0x129a0
      | sysTid=7889 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1074082952
      | schedstat=( 0 0 0 ) utm=3019 stm=719 core=0
      at android.os.MessageQueue.nativePollOnce(Native Method)
      at android.os.MessageQueue.next(MessageQueue.java:118)
      at android.os.Looper.loop(Looper.java:118)
      at android.app.ActivityThread.main(ActivityThread.java:4424)
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:511)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:579)
      at dalvik.system.NativeStart.main(Native Method)说明主线程在等待下一条消息进入消息队列,那请问是谁引起这个问题呢?
    是CPU使用率高100%导致主线程卡住了?还是什么原因引起的?
      

  11.   

    大哥你好,不好意思,我标题没写清楚。
    不是应用程序定位不到地理位置,是我应用商店运行时出现ANR,我找不到原因,确定不了引起问题原因在哪。
    和地理位置的定位没有关系,log和trace都贴出来了,是消息队列堵塞了,我看了下我业务逻辑处理都是在线程中运行,UI线程都是处理UI的业务。
    请各位大神,帮忙分析log,看ANR是哪里引起的,谢谢!
    不好意思,对定位太敏感了,,看错了。。
    我看了下估计是在SearchActivity中出现了问题,
    log说:keyDispatchingTimedOut,你看看这里是不是有什么问题?
    key分发超时?
    E/ActivityManager(  976): ANR in com.aaa.appet2 (com.aaa.appet2/.ui.search.SearchActivity)
    E/ActivityManager(  976): Reason: keyDispatchingTimedOut
    E/ActivityManager(  976): Load: 5.3 / 3.61 / 2.38
    E/ActivityManager(  976): CPU usage from 8732ms to 0ms ago with 99% awake:
    E/ActivityManager(  976):   44% 465/mmcqd: 0% user + 44% kernel
    E/ActivityManager(  976):   42% 7889/com.aaa.appet2: 29% user + 13% kernel / faults: 6332 minor 3 major
    E/ActivityManager(  976):   12% 714/ld-linux.so.3: 2.6% user + 9.7% kernel / faults: 221 minor 4 major
    E/ActivityManager(  976):   8.4% 391/mmcqd: 0% user + 8.4% kernel
    E/ActivityManager(  976):   2.7% 976/system_server: 1.1% user + 1.6% kernel / faults: 649 minor 14 major
    E/ActivityManager(  976):   2.2% 288/kswapd0: 0% user + 2.2% kernel
      

  12.   

    大哥你好,为什么定位到这里呢?这里是系统的watchdog线程,代码没有对这个线程进行操作哦。
    不是只看main线程就可以了么?main线程只显示message queue异常,我看了下UI线程Handler的处理都是UI控件的处理没有耗时或者block的操作。
    请大神再指点一下,谢谢!
    不好意思,看错了。
    以下是cpu在anr发生前的使用情况:
    E/ActivityManager(  976):   44% 465/mmcqd: 0% user + 44% kernel
    E/ActivityManager(  976):   42% 7889/com.aaa.appet2: 29% user + 13% kernel / faults: 6332 minor 3 major
    E/ActivityManager(  976): 86% TOTAL: 21% user + 19% kernel + 45% iowait + 1.2% softirq45%花费在iowait,好像是io操作花了很多的时间。然后你的app有很多额外的线程在跑,它们是否给主线程发了太多的消息才阻塞?目前我就只能看出这么多了,希望有点帮助
      

  13.   

    大哥你好,为什么定位到这里呢?这里是系统的watchdog线程,代码没有对这个线程进行操作哦。
    不是只看main线程就可以了么?main线程只显示message queue异常,我看了下UI线程Handler的处理都是UI控件的处理没有耗时或者block的操作。
    请大神再指点一下,谢谢!
    不好意思,看错了。
    以下是cpu在anr发生前的使用情况:
    E/ActivityManager(  976):   44% 465/mmcqd: 0% user + 44% kernel
    E/ActivityManager(  976):   42% 7889/com.aaa.appet2: 29% user + 13% kernel / faults: 6332 minor 3 major
    E/ActivityManager(  976): 86% TOTAL: 21% user + 19% kernel + 45% iowait + 1.2% softirq45%花费在iowait,好像是io操作花了很多的时间。然后你的app有很多额外的线程在跑,它们是否给主线程发了太多的消息才阻塞?目前我就只能看出这么多了,希望有点帮助
    大哥你好,说的和我分析的一样,问题就来了,iowait 45%有点高,我查了,我读写randomfile是放在子线程里面操作的,放子线程操作就算iowait应该也不会引起UI线程的堵塞。
    但是你说的因为子线程太多给UI线程发的消息太多,处理不过来导致UI线程堵塞,有可能是这个引起的,但是我看了接收信息的handler的处理,都是UI控件的操作,如果有业务操作都会发指令,开新的子线程来执行,这是否有影响?
    在此感谢各位大哥帮忙!
      

  14.   

    大哥你好,不好意思,我标题没写清楚。
    不是应用程序定位不到地理位置,是我应用商店运行时出现ANR,我找不到原因,确定不了引起问题原因在哪。
    和地理位置的定位没有关系,log和trace都贴出来了,是消息队列堵塞了,我看了下我业务逻辑处理都是在线程中运行,UI线程都是处理UI的业务。
    请各位大神,帮忙分析log,看ANR是哪里引起的,谢谢!
    不好意思,对定位太敏感了,,看错了。。
    我看了下估计是在SearchActivity中出现了问题,
    log说:keyDispatchingTimedOut,你看看这里是不是有什么问题?
    key分发超时?
    E/ActivityManager(  976): ANR in com.aaa.appet2 (com.aaa.appet2/.ui.search.SearchActivity)
    E/ActivityManager(  976): Reason: keyDispatchingTimedOut
    E/ActivityManager(  976): Load: 5.3 / 3.61 / 2.38
    E/ActivityManager(  976): CPU usage from 8732ms to 0ms ago with 99% awake:
    E/ActivityManager(  976):   44% 465/mmcqd: 0% user + 44% kernel
    E/ActivityManager(  976):   42% 7889/com.aaa.appet2: 29% user + 13% kernel / faults: 6332 minor 3 major
    E/ActivityManager(  976):   12% 714/ld-linux.so.3: 2.6% user + 9.7% kernel / faults: 221 minor 4 major
    E/ActivityManager(  976):   8.4% 391/mmcqd: 0% user + 8.4% kernel
    E/ActivityManager(  976):   2.7% 976/system_server: 1.1% user + 1.6% kernel / faults: 649 minor 14 major
    E/ActivityManager(  976):   2.2% 288/kswapd0: 0% user + 2.2% kernel
    大哥你好,dispatch key timeout是ANR的一种类型,从log看没有在按键处理的地方堵塞了。谢谢!
      

  15.   

    前面的定位有点搞笑,呵呵。
    主线程处于消息等待的状态,应该是正确的。但是ANR前后IOwait占的比例有点高:
    E/ActivityManager(  976): 86% TOTAL: 21% user + 19% kernel + 45% iowait + 1.2% softirq
    应该是和io有关系,从下面的线程看感觉和下面的有关系,线程状态SUSPENDED,且处于io写太耗时了。并且是从楼主自己代码.DownLoadTask.run触发的。
    "Thread-215" prio=1 tid=27 SUSPENDED
      | group="main" sCount=1 dsCount=0 obj=0x4252d0f8 self=0x341560
      | sysTid=8003 nice=19 sched=0/0 cgrp=[no-cpu-subsys] handle=3903776
      | schedstat=( 0 0 0 ) utm=255 stm=740 core=1
      at libcore.io.Posix.writeBytes(Native Method)
      at libcore.io.Posix.write(Posix.java:178)
      at libcore.io.BlockGuardOs.write(BlockGuardOs.java:191)
      at libcore.io.IoBridge.write(IoBridge.java:447)
      at java.io.RandomAccessFile.write(RandomAccessFile.java:692)
      at com.aaa.appet2.component.downLoad.DownLoadTask.run(DownLoadTask.java:96)楼主可以在.DownLoadTask.run中强行做一个多循环写操作,看能否复现该问题。
      

  16.   

    你好,这个写操作是放在新创建的线程里执行的,的确占cpu有点高45%,但是不应该会影响到主线程导致ANR,求解!谢谢!
      

  17.   

    楼主,能教教我怎么分析trace.txt吗?谢谢