Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 取消对话时收到ANR_Android - Fatal编程技术网

Android 取消对话时收到ANR

Android 取消对话时收到ANR,android,Android,我得到了一个ANR,我把日志贴在下面,但我无法找出错误的原因。我可能是死锁,因为我注意到线程状态是阻塞的,阻塞的线程是绑定线程。也许一个活页夹线程会导致主线程阻塞,尽管ANR日志没有显示这一点。有人能帮忙找到真正的原因吗 "main" prio=5 tid=1 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x78acd088 self=0xe5048000 | sysTid=16773

我得到了一个ANR,我把日志贴在下面,但我无法找出错误的原因。我可能是死锁,因为我注意到线程状态是阻塞的,阻塞的线程是绑定线程。也许一个活页夹线程会导致主线程阻塞,尽管ANR日志没有显示这一点。有人能帮忙找到真正的原因吗

 "main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x78acd088 self=0xe5048000
  | sysTid=16773 nice=-10 cgrp=default sched=0/0 handle=0xe8f48494
  | state=S schedstat=( 790130326118 126690798510 825497 ) utm=63319 stm=15694 core=2 HZ=100
  | stack=0xff161000-0xff163000 stackSize=8MB
  | held mutexes=
  kernel: (couldn't read /proc/self/task/16773/stack)
  native: #00 pc 00019ecc  /system/lib/libc.so (syscall+28)
  native: #01 pc 0001d347  /system/lib/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+90)
  native: #02 pc 00070f5f  /system/lib/libc.so (pthread_cond_wait+32)
  native: #03 pc 0004b0c5  /system/lib/libc++.so (std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)+8)
  native: #04 pc 0004cf8d  /system/lib/libc++.so (std::__1::__assoc_sub_state::copy()+56)
  native: #05 pc 0004d26b  /system/lib/libc++.so (std::__1::future<void>::get()+10)
  native: #06 pc 0008e207  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderProxy::destroy()+186)
  at android.view.ThreadedRenderer.nDestroy(Native method)
  at android.view.ThreadedRenderer.destroy(ThreadedRenderer.java:415)
  at android.view.ViewRootImpl.destroyHardwareRenderer(ViewRootImpl.java:7046)
  at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:3956)
  at android.view.ViewRootImpl.doDie(ViewRootImpl.java:6976)
  - locked <0x0897773e> (a android.view.ViewRootImpl)
  at android.view.ViewRootImpl.die(ViewRootImpl.java:6953)
  at android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:502)
  at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:440)
  - locked <0x06c6d99f> (a java.lang.Object)
  at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:126)
  at android.app.Dialog.dismissDialog(Dialog.java:375)
  at android.app.Dialog.dismiss(Dialog.java:358)
  at android.app.Dialog.cancel(Dialog.java:1269)
  at android.app.Dialog.onBackPressed(Dialog.java:684)
  at android.app.Dialog.onKeyUp(Dialog.java:661)
  at android.support.v7.app.AlertDialog.onKeyUp(SourceFile:276)
  at android.view.KeyEvent.dispatch(KeyEvent.java:2729)
  at android.app.Dialog.dispatchKeyEvent(Dialog.java:814)
  at android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(SourceFile:58)
  at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.dispatchKeyEvent(SourceFile:316)
  at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:346)
  at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:5200)
  at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5068)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4587)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)
  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4606)
  at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4746)
  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4614)
  at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4803)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4587)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)
  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4606)
  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4614)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4587)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)
  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4606)
  at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4746)
  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4614)
  at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4803)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4587)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)
  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4606)
  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4614)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4587)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)
  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4606)
  at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4746)
  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4614)
  at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4803)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4587)
  at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7317)
  at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7284)
  at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7245)
  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7425)
  at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:253)
  at android.os.MessageQueue.nativePollOnce(Native method)
  at android.os.MessageQueue.next(MessageQueue.java:332)
  at android.os.Looper.loop(Looper.java:168)
  at android.app.ActivityThread.main(ActivityThread.java:6878)
  at java.lang.reflect.Method.invoke(Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)
“主”优先级=5 tid=1本机
|group=“main”scont=1 dsCount=0 flags=1 obj=0x78acd088 self=0xe5048000
|sysTid=16773 nice=-10 cgrp=default sched=0/0 handle=0xe8f48494
|state=S schedstat=(790130326118 126690798510 825497)utm=63319 stm=15694内核=2 HZ=100
|堆栈=0xff161000-0xff163000堆栈大小=8MB
|保持互斥=
内核:(无法读取/proc/self/task/16773/stack)
本机:#00 pc 00019ecc/system/lib/libc.so(syscall+28)
本机:#01 pc 0001d347/system/lib/libc.so(#u futex_wait#ex(void volatile*、bool、int、bool、timespec const*)+90)
本机:#02 pc 00070f5f/system/lib/libc.so(pthread_cond_wait+32)
本机:#03 pc 0004b0c5/system/lib/libc++.so(标准::条件变量::等待(标准::唯一锁定&)+8)
本机:#04 pc 0004cf8d/system/lib/libc++.so(标准::#1::#助理状态::copy()+56)
本机:#05 pc 0004d26b/system/lib/libc++.so(std:#u 1::future::get()+10)
本机:#06 pc 0008e207/system/lib/libhwui.so(android::uirenderer::RenderRead::RenderProxy::destroy()+186)
在android.view.ThreadedRenderer.ndestory中(本机方法)
在android.view.ThreadedRenderer.destroy上(ThreadedRenderer.java:415)
在android.view.ViewRootImpl.destroyHardwareRenderer上(ViewRootImpl.java:7046)
在android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:3956)中
在android.view.ViewRootImpl.doDie上(ViewRootImpl.java:6976)
-锁定(android.view.ViewRootImpl)
在android.view.ViewRootImpl.die(ViewRootImpl.java:6953)
在android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:502)中
在android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:440)
-锁定(一个java.lang.Object)
在android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:126)中
在android.app.Dialog.dismissDialog(Dialog.java:375)上
在android.app.Dialog.disclose(Dialog.java:358)中
在android.app.Dialog.cancel上(Dialog.java:1269)
在android.app.Dialog.onBackPressed(Dialog.java:684)
位于android.app.Dialog.onKeyUp(Dialog.java:661)
位于android.support.v7.app.AlertDialog.onKeyUp(源文件:276)
位于android.view.KeyEvent.dispatch(KeyEvent.java:2729)
位于android.app.Dialog.dispatchKeyEvent(Dialog.java:814)
位于android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(源文件:58)
位于android.support.v7.app.AppCompateDelegateImplbase$AppCompateWindowCallBackbase.dispatchKeyEvent(源文件:316)
位于com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:346)
在android.view.ViewRootImpl$viewPostimeiInputStage.processKeyEvent(ViewRootImpl.java:5200)
位于android.view.ViewRootImpl$viewPostimeiInputStage.onProcess(ViewRootImpl.java:5068)
在android.view.ViewRootImpl$InputStage.deliver上(ViewRootImpl.java:4587)
在android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)中
在android.view.ViewRootImpl$InputStage.forward中(ViewRootImpl.java:4606)
在android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4746)中
在android.view.ViewRootImpl$InputStage.apply上(ViewRootImpl.java:4614)
在android.view.ViewRootImpl$AsyncInputStage.apply上(ViewRootImpl.java:4803)
在android.view.ViewRootImpl$InputStage.deliver上(ViewRootImpl.java:4587)
在android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)中
在android.view.ViewRootImpl$InputStage.forward中(ViewRootImpl.java:4606)
在android.view.ViewRootImpl$InputStage.apply上(ViewRootImpl.java:4614)
在android.view.ViewRootImpl$InputStage.deliver上(ViewRootImpl.java:4587)
在android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)中
在android.view.ViewRootImpl$InputStage.forward中(ViewRootImpl.java:4606)
在android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4746)中
在android.view.ViewRootImpl$InputStage.apply上(ViewRootImpl.java:4614)
在android.view.ViewRootImpl$AsyncInputStage.apply上(ViewRootImpl.java:4803)
在android.view.ViewRootImpl$InputStage.deliver上(ViewRootImpl.java:4587)
在android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)中
在android.view.ViewRootImpl$InputStage.forward中(ViewRootImpl.java:4606)
在android.view.ViewRootImpl$InputStage.apply上(ViewRootImpl.java:4614)
在android.view.ViewRootImpl$InputStage.deliver上(ViewRootImpl.java:4587)
在android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4640)中
在android.view.ViewRootImpl$InputStage.forward中(ViewRootImpl.java:4606)
在android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4746)中
在android.view.ViewRootImpl$InputStage.apply上(ViewRootImpl.java:4614)
在android.view.ViewRootImpl$AsyncInputStage.apply上(ViewRootImpl.java:4803)
在android.view.ViewRootImpl$InputStage.deliver上(ViewRootImpl.java:4587)
在android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7317)上
在android.view.ViewRootImpl.doProcessInputEvents上(ViewRootImpl.java:7284)
在android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7245)中
在android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7425)
位于android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:253)
在android.os.MessageQueue.nativePollOnce(本机方法)
下一步(MessageQueue.java:332)
位于android.os.Looper.loop(Looper.java:168)
位于android.app.ActivityThread.main(ActivityThread.java:6878)
位于java.lang.reflect.Method.invoke(本机方法)
位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)
被阻止的线程,正在等待锁定线程持有的(android.view.ViewRootImpl)
"Binder:16773_F" prio=5 tid=20 Blocked
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x15c09800 self=0xc395b200
  | sysTid=27167 nice=0 cgrp=default sched=0/0 handle=0xbb0ff970
  | state=S schedstat=( 10858640 14494532 61 ) utm=1 stm=0 core=4 HZ=100
  | stack=0xbb004000-0xbb006000 stackSize=1010KB
  | held mutexes=
  at android.view.ViewRootImpl.windowFocusChanged(ViewRootImpl.java:7633)
  - waiting to lock <0x0897773e> (a android.view.ViewRootImpl) held by thread 1
  at android.view.ViewRootImpl$W.windowFocusChanged(ViewRootImpl.java:8233)
  at android.view.IWindow$Stub.onTransact(IWindow.java:177)
  at android.os.Binder.execTransact(Binder.java:726)