2011-06-23 10 views
1

クラッシュするアプリケーションを実行しているときにこれらのスタックトレースを取得しています。私はそれが "ANR keyDispatchingTimedOut"で何かをしなければならないことを知っています。私はAndroid開発で新しく、トレースを読むのに役立つものが必要です。スタックトレースを読むのに役立つ

DALVIK THREADS: 
"main" prio=5 tid=1 NATIVE 
    | group="main" sCount=1 dsCount=0 s=N obj=0x40028ae0 self=0xcd58 
    | sysTid=7787 nice=0 sched=0/0 cgrp=default handle=-1345021904 
    | schedstat=(12266998315 6628478984 2116) 
    at android.database.sqlite.SQLiteQuery.native_fill_window(Native Method) 
    at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:70) 
    at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:299) 
    at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:280) 
    at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:171) 
    at android.database.AbstractCursor.moveToFirst(AbstractCursor.java:248) 
    at george.android.eortologioAlpha.EortologioAlpha.statheresPlhrhsGiortes(EortologioAlpha.java:171) 
    at george.android.eortologioAlpha.EortologioAlpha.giortazei(EortologioAlpha.java:265) 
    at george.android.eortologioAlpha.EortologioAlpha.eortazomenhEpafh(EortologioAlpha.java:281) 
    at george.android.eortologioAlpha.EortologioAlpha.onCreate(EortologioAlpha.java:474) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1065) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2797) 
    at android.app.ActivityThread.access$2300(ActivityThread.java:135) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:143) 
    at android.app.ActivityThread.main(ActivityThread.java:4914) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:521) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
    at dalvik.system.NativeStart.main(Native Method) 

"Binder Thread #2" prio=5 tid=5 NATIVE 
    | group="main" sCount=1 dsCount=0 s=N obj=0x447cdb78 self=0x130b40 
    | sysTid=7791 nice=0 sched=0/0 cgrp=default handle=1248000 
    | schedstat=(6164551 6774901 9) 
    at dalvik.system.NativeStart.run(Native Method) 

"Binder Thread #1" prio=5 tid=4 NATIVE 
    | group="main" sCount=1 dsCount=0 s=N obj=0x447c9b18 self=0x139258 
    | sysTid=7790 nice=0 sched=0/0 cgrp=default handle=1271880 
    | schedstat=(12756347 35614013 13) 
    at dalvik.system.NativeStart.run(Native Method) 

"Signal Catcher" daemon prio=5 tid=3 RUNNABLE 
    | group="system" sCount=0 dsCount=0 s=N obj=0x447c81e8 self=0x136948 
    | sysTid=7789 nice=0 sched=0/0 cgrp=default handle=1249544 
    | schedstat=(4150389 20233155 9) 
    at dalvik.system.NativeStart.run(Native Method) 

"HeapWorker" daemon prio=5 tid=2 VMWAIT 
    | group="system" sCount=1 dsCount=0 s=N obj=0x43a1c590 self=0x136708 
    | sysTid=7788 nice=0 sched=0/0 cgrp=default handle=1248984 
    | schedstat=(247253419 294708251 77) 
    at dalvik.system.NativeStart.run(Native Method) 
+0

の可能重複[アンドロイド - ?どのように私はANRを調査しない](http://stackoverflow.com/questions/704311/android-how-do-i-investigate-an-anr) –

答えて

2

ANR keyDispatchingTimedOutは、あなたの活動は何かをやって立ち往生して、次のユーザー入力に反応することができなかったことを意味します。

スタックトレースを読み取るには、パッケージ名が表示されるまでスキャンします。これは、集中したいビットです。

私は前に一度、このに答えました:ANR keyDispatchingTimedOut error

ANRエラー

活動が応答しません。

あなたの活動は、Android OS「よろしいですか?私はまだ生きています! (これがUIスレッドの機能です)。基本的には

http://developer.android.com/guide/practices/design/responsiveness.html

あなたは、UIスレッドを作る場合は、それはそれはまだ「生きている」でOSを伝えるためにあなたの仕事をやってあまりにも忙しいいくつかの複雑なタスクを実行します。

http://developer.android.com/resources/articles/painless-threading.html

あなたが終了したUIスレッドを伝えるために、結果で何かをするコールバックを使用し、その後、別のスレッドにコードを/更新/削除を選択してデータベースを移動する必要があります。

http://developer.android.com/resources/articles/timed-ui-updates.html

関連する問題