Skip to content

控件导致程序ANR问题 #5

Description

@weinierfei

非常感谢将军的分享!在使用该控件的过程中,我的程序出现了anr,查看日志后发现可能是该控件引起的,下面附上anr日志(少部分,太长了),请将军指导!
----- pid 3210 at 2015-09-06 11:53:23 -----
Cmd line: com.allin.social

JNI: CheckJNI is off; workarounds are off; pins=0; globals=348

DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)

"main" prio=5 tid=1 SUSPENDED
| group="main" sCount=1 dsCount=0 obj=0x41606e58 self=0x41522540
| sysTid=3210 nice=0 sched=0/0 cgrp=apps handle=1074348372
| state=S schedstat=( 17116004768 1300353748 8830 ) utm=1581 stm=130 core=0
at android.support.v4.view.ViewPager.populate(ViewPager.java:~1034)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:555)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:514)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:495)
at com.allin.social.homepage.FlashView$ImageHandler.handleMessage(FlashView.java:329)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5095)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)

"pool-2-thread-1" prio=5 tid=42 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x42e85680 self=0x79078ab8
| sysTid=3378 nice=0 sched=0/0 cgrp=apps handle=2032088408
| state=S schedstat=( 9979738 514375 42 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)

  • waiting on <0x432d2d48> (a java.lang.VMThread) held by tid=42 (pool-2-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2056)
    at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:435)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)

"uil-pool-d-3-thread-3" prio=5 tid=41 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x42efbe60 self=0x7917f918
| sysTid=3376 nice=0 sched=0/0 cgrp=apps handle=2030395464
| state=S schedstat=( 18025103 3207031 62 ) utm=1 stm=0 core=4
at java.lang.Object.wait(Native Method)

  • waiting on <0x434b4960> (a java.lang.VMThread) held by tid=41 (uil-pool-d-3-thread-3)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:429)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:331)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:910)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)

"uil-pool-1-thread-3" prio=3 tid=40 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42e7e3a8 self=0x790612a8
| sysTid=3369 nice=13 sched=0/0 cgrp=apps/bg_non_interactive handle=2030442240
| state=S schedstat=( 13167343 3285728 17 ) utm=1 stm=0 core=4
at java.lang.Object.wait(Native Method)

  • waiting on <0x425af480> (a java.lang.VMThread) held by tid=40 (uil-pool-1-thread-3)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:461)
    at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.take(LinkedBlockingDeque.java:650)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)

"Timer-0" prio=5 tid=39 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x42ed8708 self=0x791f3878
| sysTid=3349 nice=0 sched=0/0 cgrp=apps handle=2031559432
| state=S schedstat=( 4090051 770313 15 ) utm=0 stm=0 core=6
at java.lang.Object.wait(Native Method)

  • waiting on <0x42ed8708> (a java.util.Timer$TimerImpl)
    at java.lang.Object.wait(Object.java:401)
    at java.util.Timer$TimerImpl.run(Timer.java:238)

"Binder_3" prio=5 tid=38 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x42ccece8 self=0x7916ba78
| sysTid=3336 nice=0 sched=0/0 cgrp=apps handle=2031492624
| state=S schedstat=( 5378336 5092032 31 ) utm=0 stm=0 core=1
#00 pc 00020774 /system/lib/libc.so (_ioctl+8)
#1 pc 0002d313 /system/lib/libc.so (ioctl+14)
#2 pc 0001d3ed /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
#3 pc 0001daf7 /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
#4 pc 0001db8d /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
#5 pc 000219f5 /system/lib/libbinder.so
#6 pc 0000ea5d /system/lib/libutils.so (android::Thread::threadLoop(void)+216)
#7 pc 0004dbb5 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void
)+68)
#8 pc 0000e58f /system/lib/libutils.so
#09 pc 0000d2c0 /system/lib/libc.so (__thread_entry+72)
#10 pc 0000d458 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)

"uil-pool-1-thread-2" prio=3 tid=37 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42e84610 self=0x7919b3b0
| sysTid=3332 nice=13 sched=0/0 cgrp=apps/bg_non_interactive handle=2031728648
| state=S schedstat=( 14754583 7416355 30 ) utm=1 stm=0 core=4
at java.lang.Object.wait(Native Method)

  • waiting on <0x4246cf50> (a java.lang.VMThread) held by tid=37 (uil-pool-1-thread-2)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:461)
    at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.take(LinkedBlockingDeque.java:650)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)

"pool-1-thread-8" prio=5 tid=36 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42ee5968 self=0x78e5e3e0
| sysTid=3319 nice=0 sched=0/0 cgrp=apps handle=2032018032
| state=S schedstat=( 433699 0 2 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)

  • waiting on <0x42ea0800> (a java.lang.VMThread) held by tid=36 (pool-1-thread-8)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1050)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:778)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)

"pool-1-thread-7" prio=5 tid=35 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42ee5bf0 self=0x78e60b30
| sysTid=3318 nice=0 sched=0/0 cgrp=apps handle=1991701704
| state=S schedstat=( 1837136 0 3 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)

  • waiting on <0x42ea9cf8> (a java.lang.VMThread) held by tid=35 (pool-1-thread-7)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1050)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:778)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)

"uil-pool-2-thread-3" prio=3 tid=34 WAIT
| group="main" sCount=1 dsCount=0 obj=0x432d32b8 self=0x76baf480
| sysTid=3296 nice=13 sched=0/0 cgrp=apps/bg_non_interactive handle=2027885456
| state=S schedstat=( 1095635791 464376407 682 ) utm=100 stm=9 core=0
at java.lang.Object.wait(Native Method)

  • waiting on <0x431bde60> (a java.lang.VMThread) held by tid=34 (uil-pool-2-thread-3)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:461)
    at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.take(LinkedBlockingDeque.java:650)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions