Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ANR problem #435

Closed
lizijin opened this issue Oct 23, 2013 · 11 comments
Closed

ANR problem #435

lizijin opened this issue Oct 23, 2013 · 11 comments
Labels

Comments

@lizijin
Copy link

lizijin commented Oct 23, 2013

@nostra13

applicationConfig = new ImageLoaderConfiguration.Builder(
                getApplicationContext())
                .threadPriority(Thread.NORM_PRIORITY - 2)
                .denyCacheImageMultipleSizesInMemory()
                .threadPoolSize(10)

Does the .threadPoolSize(10) matter?

----- pid 3529 at 2013-11-06 15:47:30 -----
Cmd line: com.skymobi.lockframe

DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)
"java.lang.ProcessManager" daemon prio=5 tid=30 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x416bbf80 self=0x1e90928
  | sysTid=3788 nice=0 sched=0/0 cgrp=default handle=33997216
  | schedstat=( 2107845 49925770 14 ) utm=0 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x416c7618> (a java.util.HashMap)
  at java.lang.Object.wait(Object.java:364)
  at java.lang.ProcessManager.waitForMoreChildren(ProcessManager.java:140)
  at java.lang.ProcessManager.watchChildren(ProcessManager.java:105)
  at java.lang.ProcessManager.access$000(ProcessManager.java:40)
  at java.lang.ProcessManager$1.run(ProcessManager.java:58)

"Thread-228" prio=5 tid=1 VMWAIT
  | group="main" sCount=1 dsCount=0 obj=0x4197cd70 self=0x19987b0
  | sysTid=3529 nice=0 sched=0/0 cgrp=default handle=1074370772
  | schedstat=( 7592257323 3219090754 8992 ) utm=657 stm=102 core=0
  at dalvik.system.NativeStart.run(Native Method)

"pool-2-thread-10" prio=3 tid=29 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x416d0b80 self=0x1eae2e0
  | sysTid=3767 nice=13 sched=0/0 cgrp=bg_non_interactive handle=30883088
  | schedstat=( 133521847 467091847 162 ) utm=13 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x416d1fc8> (a java.lang.VMThread) held by tid=29 (pool-2-thread-10)
  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 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: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-9" prio=3 tid=28 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x416cbb30 self=0x1dbe788
  | sysTid=3766 nice=13 sched=0/0 cgrp=bg_non_interactive handle=30882936
  | schedstat=( 74338294 351137476 325 ) utm=4 stm=3 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x419cf690> (a java.lang.VMThread) held by tid=28 (pool-2-thread-9)
  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 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: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-8" prio=3 tid=27 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x416c8200 self=0x1e8f2c0
  | sysTid=3765 nice=13 sched=0/0 cgrp=bg_non_interactive handle=32042344
  | schedstat=( 13640229 303359617 54 ) utm=0 stm=1 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x416c8390> (a java.lang.VMThread) held by tid=27 (pool-2-thread-8)
  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 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: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-7" prio=3 tid=26 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x416a91b8 self=0x1e8e6f0
  | sysTid=3764 nice=13 sched=0/0 cgrp=bg_non_interactive handle=29289496
  | schedstat=( 13111920 478355464 59 ) utm=1 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x416dae08> (a java.lang.VMThread) held by tid=26 (pool-2-thread-7)
  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 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: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-6" prio=3 tid=25 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x416c48f8 self=0x1e8d478
  | sysTid=3763 nice=13 sched=0/0 cgrp=bg_non_interactive handle=31949912
  | schedstat=( 42310620 564039843 99 ) utm=3 stm=1 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x416c49e0> (a java.lang.VMThread) held by tid=25 (pool-2-thread-6)
  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 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: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-5" prio=3 tid=23 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x416db738 self=0x1e8cbd8
  | sysTid=3761 nice=13 sched=0/0 cgrp=bg_non_interactive handle=32030536
  | schedstat=( 89724157 3220787383 418 ) utm=7 stm=1 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x4164ef10> (a java.lang.VMThread) held by tid=23 (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 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: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 #5" prio=5 tid=22 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41632b78 self=0x1e33b50
  | sysTid=3686 nice=10 sched=0/0 cgrp=bg_non_interactive handle=31533328
  | schedstat=( 5592846 372042921 129 ) utm=0 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41626cb8> (a java.lang.VMThread) held by tid=22 (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=17 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41644f10 self=0x1e31e10
  | sysTid=3685 nice=10 sched=0/0 cgrp=bg_non_interactive handle=31532992
  | schedstat=( 3348459 370170618 68 ) utm=0 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41609878> (a java.lang.VMThread) held by tid=17 (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)

"pool-2-thread-4" prio=3 tid=21 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41764560 self=0x1e20ef0
  | sysTid=3647 nice=13 sched=0/0 cgrp=bg_non_interactive handle=29294192
  | schedstat=( 186113461 333204845 152 ) utm=17 stm=1 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41764710> (a java.lang.VMThread) held by tid=21 (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 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: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=3 tid=20 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41744678 self=0x1e20058
  | sysTid=3646 nice=13 sched=0/0 cgrp=bg_non_interactive handle=31333728
  | schedstat=( 138787763 245734928 139 ) utm=13 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x417447b0> (a java.lang.VMThread) held by tid=20 (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 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: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=3 tid=19 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41741718 self=0x1e1f068
  | sysTid=3645 nice=13 sched=0/0 cgrp=bg_non_interactive handle=31575888
  | schedstat=( 106344699 411074535 208 ) utm=10 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41741850> (a java.lang.VMThread) held by tid=19 (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 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: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=3 tid=18 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x4173d6a8 self=0x1e1b9e0
  | sysTid=3644 nice=13 sched=0/0 cgrp=bg_non_interactive handle=31533480
  | schedstat=( 158416778 712384761 444 ) utm=12 stm=3 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x4173d808> (a java.lang.VMThread) held by tid=18 (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 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: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=16 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x416dbe60 self=0x1e11718
  | sysTid=3642 nice=10 sched=0/0 cgrp=bg_non_interactive handle=31527752
  | schedstat=( 20249937 46466679 315 ) utm=2 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x416dbf80> (a java.lang.VMThread) held by tid=16 (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=15 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x4161cf30 self=0x1d684e8
  | sysTid=3607 nice=10 sched=0/0 cgrp=bg_non_interactive handle=30346088
  | schedstat=( 91794454 590810317 552 ) utm=7 stm=2 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x4161d050> (a java.lang.VMThread) held by tid=15 (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)

"AsyncTask #1" prio=5 tid=14 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41626f98 self=0x1d68098
  | sysTid=3606 nice=10 sched=0/0 cgrp=bg_non_interactive handle=30064576
  | schedstat=( 3003535 14925388 28 ) utm=0 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x416270e8> (a java.lang.VMThread) held by tid=14 (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)

"Binder Thread #3" prio=5 tid=11 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x4162d9e0 self=0x1c1bb40
  | sysTid=3590 nice=0 sched=0/0 cgrp=default handle=29985944
  | schedstat=( 37899618 111820691 118 ) utm=1 stm=2 core=0
  at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #2" prio=5 tid=10 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x415ffee8 self=0x1c1fbd0
  | sysTid=3541 nice=0 sched=0/0 cgrp=default handle=30307104
  | schedstat=( 34870384 95645618 164 ) utm=0 stm=3 core=0
  at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #1" prio=5 tid=9 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x415fe3b8 self=0x1aed880
  | sysTid=3540 nice=0 sched=0/0 cgrp=default handle=29584080
  | schedstat=( 19256467 70913920 101 ) utm=0 stm=1 core=0
  at dalvik.system.NativeStart.run(Native Method)

"FinalizerWatchdogDaemon" daemon prio=5 tid=8 TIMED_WAIT
  | group="main" sCount=1 dsCount=0 obj=0x415faee8 self=0x1cef4b0
  | sysTid=3539 nice=0 sched=0/0 cgrp=default handle=30243744
  | schedstat=( 3359691 13554694 48 ) utm=0 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=0x415fad90 self=0x1ca36f8
  | sysTid=3538 nice=0 sched=0/0 cgrp=default handle=29721792
  | schedstat=( 41583000 19250925 76 ) utm=2 stm=2 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x40ce95e0> (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=0x415fac28 self=0x1b81b90
  | sysTid=3537 nice=0 sched=0/0 cgrp=default handle=30318224
  | schedstat=( 6765158 8709693 86 ) utm=0 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x40ce9508> 
  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=0x415fab38 self=0x1ce6240
  | sysTid=3536 nice=0 sched=0/0 cgrp=default handle=29741376
  | schedstat=( 468431858 285655542 3340 ) utm=25 stm=21 core=0
  at dalvik.system.NativeStart.run(Native Method)

"JDWP" daemon prio=5 tid=4 VMWAIT
  | group="system" sCount=1 dsCount=0 obj=0x415faa50 self=0x1ce0c28
  | sysTid=3535 nice=0 sched=0/0 cgrp=default handle=28262776
  | schedstat=( 570921 3295155 14 ) utm=0 stm=0 core=0
  at dalvik.system.NativeStart.run(Native Method)

"Signal Catcher" daemon prio=5 tid=3 RUNNABLE
  | group="system" sCount=0 dsCount=0 obj=0x415fa958 self=0x1c9d398
  | sysTid=3534 nice=0 sched=0/0 cgrp=default handle=29979240
  | schedstat=( 80934999 88314461 53 ) utm=6 stm=2 core=0
  at dalvik.system.NativeStart.run(Native Method)

"GC" daemon prio=5 tid=2 VMWAIT
  | group="system" sCount=1 dsCount=0 obj=0x415fa878 self=0x1c23398
  | sysTid=3531 nice=0 sched=0/0 cgrp=default handle=29700064
  | schedstat=( 483797849 487422842 422 ) utm=44 stm=4 core=0
  at dalvik.system.NativeStart.run(Native Method)

----- end 3529 -----
@lizijin
Copy link
Author

lizijin commented Oct 28, 2013

anybody helps?

@nostra13
Copy link
Owner

threadPoolSize(10) is too much, prefer 4 or 5 or less.

@lizijin
Copy link
Author

lizijin commented Nov 11, 2013

But finally I found threadPoolSize() is not the matter. As the traces.txt show. at at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:461)
at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.take(LinkedBlockingDeque.java:650)

Maybe something is not synchronized in LinkedBlockingDeque.

@httpping
Copy link

额。您是怎么找到我的,那个图片加载不出来我已经解决了,因为不是imageloader的错误,是因为listview和scrollview 冲突我将listview 全部画出来了,导致线程开的太多。所以图片无法展示,imageloader 下次升级能否控制下线程的数量,按队列运行呢。

------------------ 原始邮件 ------------------
发件人: "lizijin";[email protected];
发送时间: 2013年11月11日(星期一) 上午10:05
收件人: "nostra13/Android-Universal-Image-Loader"[email protected];

主题: Re: [Android-Universal-Image-Loader] ANR problem (#435)

But finally I found threadPoolSize() is not the matter. As the traces.txt show. at at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:461)
at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.take(LinkedBlockingDeque.java:650)

Maybe something is not synchronized in LinkedBlockingDeque.


Reply to this email directly or view it on GitHub.

@httpping
Copy link

给imageloader 提个 建议, 线程退出方法 能否增加一个根据android.content.Context 退出加载的方法,当activity快速切换时,如果那个页面中含有listview这样的控件,退出比较麻烦, 如果能够根据 context 退出.就可以解决activity快速进入和快速退出的问题。

------------------ 原始邮件 ------------------
发件人: "lizijin";[email protected];
发送时间: 2013年11月11日(星期一) 上午10:05
收件人: "nostra13/Android-Universal-Image-Loader"[email protected];

主题: Re: [Android-Universal-Image-Loader] ANR problem (#435)

But finally I found threadPoolSize() is not the matter. As the traces.txt show. at at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:461)
at com.nostra13.universalimageloader.core.assist.deque.LinkedBlockingDeque.take(LinkedBlockingDeque.java:650)

Maybe something is not synchronized in LinkedBlockingDeque.


Reply to this email directly or view it on GitHub.

@nostra13
Copy link
Owner

nostra13 commented Dec 1, 2013

Which lib version do you use?

@HolenZhou
Copy link

我的app中也出现一模一样的问题了,我不知道是为什么,并没有发现有线程开太多的情况啊

@hanhaotian87
Copy link

我的只有3个线程,一样有问题

@HolenZhou
Copy link

是啊,为什么呢 why imageLoader still appear ANR when I use it only set 3 threadpool

@sinlov
Copy link

sinlov commented Sep 8, 2015

ANR问题的本身,不是Image-Loader导致的
在页面的切换过程中,各个页面的生命周期控制里,加入异步加载的逻辑。
异步加载当然分为很多种停止了,多线程控制得当就好。

根据上下文停止的思路本身就是不可靠的。
Android的上下文滥用有内存溢出风险,控制图片的加载肯定不可能再引入新的风险。

@HolenZhou
Copy link

@sinlov 不是非常明白你说的,能举个例子说明吗?有没有什么方法可以追踪出导致ANR的问题的起因吗?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants