2016-08-21 19 views
9

私は持っていないデバイスでユーザーが再現可能なANRレポートを取得しています。しかし、私は自分のコードでスレッドの問題は見られず、次のようにしか見えません。Android ANR In libc.so

DALVIK THREADS (27): 
"main" prio=5 tid=1 Native 
| group="main" sCount=1 dsCount=0 obj=0x7682cf40 self=0xb4827800 
| sysTid=29689 nice=0 cgrp=apps/bg_non_interactive sched=0/0 handle=0xb6ff4bec 
| state=S schedstat=(194686184 170352917 762) utm=10 stm=9 core=3 HZ=100 
| stack=0xbe5fd000-0xbe5ff000 stackSize=8MB 
| held mutexes= 
kernel: (couldn't read /proc/self/task/29689/stack) 
native: #00 pc 0003732c /system/lib/libc.so (__epoll_pwait+20) 
native: #01 pc 000121bf /system/lib/libc.so (epoll_pwait+26) 
native: #02 pc 000121cd /system/lib/libc.so (epoll_wait+6) 
native: #03 pc 00010f23 /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+98) 
native: #04 pc 0001114d /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+92) 
native: #05 pc 00084d91 /system/lib/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvi+22) 
native: #06 pc 000b61e3 /system/framework/arm/boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+102) 
at android.os.MessageQueue.nativePollOnce(Native method) 
at android.os.MessageQueue.next(MessageQueue.java:143) 
at android.os.Looper.loop(Looper.java:130) 
at android.app.ActivityThread.main(ActivityThread.java:6938) 
at java.lang.reflect.Method.invoke!(Native method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 

私はこれが何であるかについての任意のアイデアに感謝します。いくつかのスレッドにも同じスタックトレースがありますが、私のコードでは何も指していません。

+0

これを試しましたか?http://stackoverflow.com/questions/13482883/why-android-treats-an-app-in-anr-when-it-is-in-the-looper-waiting? –

+0

あなたのコードをコピーできますか? –

+0

あなたのアプリには何個のアクティビティがありますか? – Elltz

答えて

2

ANRレポートを確認したところ、別のスレッドがハングアップしていることがわかりました。投稿した痕跡は正しい行動だと私は信じている。他のスレッドのブロックを解除すると、ユーザーのこの問題が修正されました。

関連する問題