2012-04-01 5 views
5

デベロッパーコンソールでこのANRレポートを受け取りましたが、ちょっと変わったと思いました。それはFileのようなものですが、私はあまりよく分からないので、誰かがそれに光を当てることを望んでいました。どうもありがとう!誰かがこのANRログに光を当てることができますか?

DALVIK THREADS: 
(mutexes: tll=0 tsl=0 tscl=0 ghl=1) 
"main" prio=5 tid=1 SUSPENDED 
    | group="main" sCount=1 dsCount=0 obj=0x40a4b460 self=0xa0f828 
    | sysTid=17417 nice=0 sched=0/0 cgrp=default handle=1074566280 
    | schedstat=(10844308000 1221939000 8746) utm=972 stm=112 core=1 
    at java.io.File.fixSlashes(File.java:~197) 
    at java.io.File.<init>(File.java:134) 
    at java.io.File.getAbsoluteFile(File.java:387) 
    at com.miz.mizuu.UpdateMovieService.onStart(UpdateMovieService.java:179) 
    at android.app.Service.onStartCommand(Service.java:438) 
    at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2359) 
    at android.app.ActivityThread.access$1900(ActivityThread.java:123) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:137) 
    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:784) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
    at dalvik.system.NativeStart.main(Native Method) 

"DispatcherThread" prio=5 tid=11 NATIVE 
    | group="main" sCount=1 dsCount=0 obj=0x41966bf8 self=0xe63280 
    | sysTid=17452 nice=0 sched=0/0 cgrp=default handle=14719552 
    | schedstat=(280000 313000 4) utm=0 stm=0 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.os.HandlerThread.run(HandlerThread.java:60) 

"AsyncTask #5" prio=5 tid=17 WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x417c7f48 self=0xd01db0 
    | sysTid=17440 nice=10 sched=0/0 cgrp=bg_non_interactive handle=13640192 
    | schedstat=(22850000 93316000 69) utm=2 stm=0 core=1 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x417c80b8> (a java.lang.VMThread) held by tid=17 (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=16 WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x417a2740 self=0xcff9b0 
    | sysTid=17439 nice=10 sched=0/0 cgrp=bg_non_interactive handle=13604208 
    | schedstat=(39193000 106588000 94) utm=3 stm=0 core=1 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x417a2878> (a java.lang.VMThread) held by tid=16 (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=15 WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x41774f28 self=0xcf3c48 
    | sysTid=17438 nice=10 sched=0/0 cgrp=bg_non_interactive handle=13521264 
    | schedstat=(33842000 118576000 89) utm=3 stm=0 core=1 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x41775060> (a java.lang.VMThread) held by tid=15 (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=14 WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x41758038 self=0xc1aa70 
    | sysTid=17437 nice=10 sched=0/0 cgrp=bg_non_interactive handle=12116520 
    | schedstat=(28508000 73514000 90) utm=1 stm=1 core=0 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x41758170> (a java.lang.VMThread) held by tid=14 (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=13 WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x4174c610 self=0xcdb768 
    | sysTid=17436 nice=10 sched=0/0 cgrp=bg_non_interactive handle=12394856 
    | schedstat=(31306000 75384000 71) utm=3 stm=0 core=1 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x4174c7c0> (a java.lang.VMThread) held by tid=13 (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) 

"AsyncTask #2" prio=5 tid=12 WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x41651430 self=0xccafa0 
    | sysTid=17434 nice=0 sched=0/0 cgrp=default handle=11708720 
    | schedstat=(891000 182000 7) utm=0 stm=0 core=0 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x410c15b0> (a java.lang.VMThread) held by tid=12 (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=10 WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x410b2f88 self=0xc2c800 
    | sysTid=17430 nice=10 sched=0/0 cgrp=bg_non_interactive handle=12473264 
    | schedstat=(453884000 188589000 1537) utm=35 stm=10 core=0 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x410ad570> (a java.lang.VMThread) held by tid=10 (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 #2" prio=5 tid=9 NATIVE 
    | group="main" sCount=1 dsCount=0 obj=0x410bddf0 self=0xbe3d70 
    | sysTid=17428 nice=0 sched=0/0 cgrp=default handle=12074328 
    | schedstat=(10983000 40959000 78) utm=1 stm=0 core=0 
    at dalvik.system.NativeStart.run(Native Method) 

"Binder Thread #1" prio=5 tid=8 NATIVE 
    | group="main" sCount=1 dsCount=0 obj=0x410bb088 self=0xb9f1a8 
    | sysTid=17427 nice=0 sched=0/0 cgrp=default handle=12303632 
    | schedstat=(14487000 37152000 88) utm=1 stm=0 core=0 
    at dalvik.system.NativeStart.run(Native Method) 

"FinalizerWatchdogDaemon" daemon prio=5 tid=7 TIMED_WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x410b6dd8 self=0xbd3300 
    | sysTid=17426 nice=0 sched=0/0 cgrp=default handle=12494048 
    | schedstat=(1417000 7766000 15) 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=6 WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x410b6c80 self=0xc44500 
    | sysTid=17425 nice=0 sched=0/0 cgrp=default handle=12500952 
    | schedstat=(19448000 5571000 36) utm=1 stm=0 core=1 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x40a415d0> (a java.lang.ref.ReferenceQueue) 
    at java.lang.... 
+0

デッドロックのようです。 –

+1

UpdateMovieService.java:179 onstart()で何をしていますか?コードを投稿してください。スレッドからファイルを同時に変更しようとしていますか? – Akhil

+0

ファイルがその行に存在するかどうかを確認するだけです。そして、いいえ、一度に1つのファイルに対して何かをやっているだけです。しかし、私には理論があります。ユーザーが問題のファイルとやりとりしようとしている間に、サービスがバックグラウンドで実行されていることが原因ですか? –

答えて

1

ANRは、Serviceが5秒以上実行されていると思われます。どうやら、いくつかのユーザーが非常に多くのファイルを持っていたのです。私はすべてのハードワークをAsyncTaskに移動して解決しました。

+2

5秒以上サービスの機能にアクセスしていないので、ここで強調表示されているメインスレッドで発生するonstart/oncreate/etcサービスのライフサイクルコールです。 http:// stackoverflow。 com/questions/10679315/how-to-avoid-an-in-standalone-android-service – accordionfolder

+0

はい、ありがとうございました:-) –

関連する問題