web-dev-qa-db-ja.com

ANR入力ディスパッチがタイムアウトしました

ANR入力ディスパッチがタイムアウトしました(タッチされたウィンドウが500.0ms以上前に配信された特定の入力イベントの処理を完了していないため、非キーイベントの送信を待機しています。待機キューの長さ:60。待機キューのヘッドエージ:8503.2 ms)

こんにちは!複数のユーザーからこの奇妙なANRレポートを受け取っています。残念ながら、ANRレポートに関する知識は非常に限られており、この原因が何であるかを理解するために誰かが助けてくれることを望んでいます。

"main" prio=5 tid=1 Suspended
| group="main" sCount=1 dsCount=0 obj=0x74a20f90 self=0x557fe6f9d0
| sysTid=23849 Nice=1 cgrp=top_visible sched=0/0 handle=0x7faf4f5000
| state=S schedstat=( 79111961552 2206905376 39235 ) utm=7534 stm=377 core=7 HZ=100
| stack=0x7fdaaf0000-0x7fdaaf2000 stackSize=8MB
| held mutexes=
at Android.os.MessageQueue.removeMessages(MessageQueue.Java:682)
- locked <0x08f02647> (a Android.os.MessageQueue)
at Android.os.Handler.removeMessages(Handler.Java:652)
at Android.view.Choreographer.removeCallbacksInternal(Choreographer.Java:418)
- locked <0x0bd41e74> (a Java.lang.Object)
at Android.view.Choreographer.removeCallbacks(Choreographer.Java:406)
at Android.view.View.removeCallbacks(View.Java:13179)
at Android.support.v4.widget.aa.a(unavailable:-1)
at Android.support.v4.widget.DrawerLayout.a(unavailable:-1)
at Android.support.v4.widget.DrawerLayout.onInterceptTouchEvent(unavailable:-1)
at Android.view.ViewGroup.dispatchTouchEvent(ViewGroup.Java:2108)
at Android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.Java:2525)
at Android.view.ViewGroup.dispatchTouchEvent(ViewGroup.Java:2254)
at Android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.Java:2525)
at Android.view.ViewGroup.dispatchTouchEvent(ViewGroup.Java:2254)
at Android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.Java:2525)
at Android.view.ViewGroup.dispatchTouchEvent(ViewGroup.Java:2254)
at Android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.Java:2525)
at Android.view.ViewGroup.dispatchTouchEvent(ViewGroup.Java:2254)
at Android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.Java:2525)
at Android.view.ViewGroup.dispatchTouchEvent(ViewGroup.Java:2254)
at Android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.Java:2525)
at Android.view.ViewGroup.dispatchTouchEvent(ViewGroup.Java:2254)
at Android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.Java:2525)
at Android.view.ViewGroup.dispatchTouchEvent(ViewGroup.Java:2254)
at com.Android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.Java:2461)
at com.Android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.Java:1777)
at Android.app.Activity.dispatchTouchEvent(Activity.Java:2865)
at Android.support.v7.view.n.dispatchTouchEvent(unavailable:-1)
at Android.support.v7.view.n.dispatchTouchEvent(unavailable:-1)
at com.Android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.Java:2422)
at Android.view.View.dispatchPointerEvent(View.Java:9610)
at Android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.Java:4436)
at Android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.Java:4302)
at Android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.Java:3836)
at Android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.Java:3889)
at Android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.Java:3855)
at Android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.Java:3981)
at Android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.Java:3863)
at Android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.Java:4038)
at Android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.Java:3836)
at Android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.Java:3889)
at Android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.Java:3855)
at Android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.Java:3863)
at Android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.Java:3836)
at Android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.Java:6135)
at Android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.Java:6109)
at Android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.Java:6070)
at Android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.Java:6251)
at Android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.Java:192)
at Android.os.MessageQueue.nativePollOnce(Native method)
at Android.os.MessageQueue.next(MessageQueue.Java:330)
at Android.os.Looper.loop(Looper.Java:137)
at Android.app.ActivityThread.main(ActivityThread.Java:5546)
at Java.lang.reflect.Method.invoke!(Native method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:794)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:684)
29
andMarkus

これは、ループが発生し、ループがインクリメントされる条件があったときに起こりました。条件が満たされない場合の増分を設定していませんでした。したがって、ループは停止しました。これにより、上記のエラーが発生しました。

あなたのコードがなければ、私は助けることができません。しかし、上記はエラーの考えられる原因です。

10
suku