Android:CreateCircularVeal相关的非法状态异常
我收到的应用程序崩溃报告如下:Android:CreateCircularVeal相关的非法状态异常,android,Android,我收到的应用程序崩溃报告如下: java.lang.IllegalStateException: at android.view.RenderNode.addAnimator (RenderNode.java:817) at android.view.RenderNodeAnimator.setTarget (RenderNodeAnimator.java:277) at android.view.RenderNodeAnimator.setTarget (RenderNodeAn
java.lang.IllegalStateException:
at android.view.RenderNode.addAnimator (RenderNode.java:817)
at android.view.RenderNodeAnimator.setTarget (RenderNodeAnimator.java:277)
at android.view.RenderNodeAnimator.setTarget (RenderNodeAnimator.java:261)
at android.animation.RevealAnimator.<init> (RevealAnimator.java:37)
at android.view.ViewAnimationUtils.createCircularReveal (ViewAnimationUtils.java:48)
at com.example.myapp.MyConfigureActivity$8.run (MyConfigureActivity.java)
at android.os.Handler.handleCallback (Handler.java:739)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:211)
at android.app.ActivityThread.main (ActivityThread.java:5335)
at java.lang.reflect.Method.invoke (Method.java)
at java.lang.reflect.Method.invoke (Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1016)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:811)
这似乎在绝大多数设备上都能很好地工作,我从未能够重现崩溃,但仍有大量的崩溃报告。知道原因是什么吗?查看
RenderNode
的源代码,您可以在addAnimator
中找到引发异常的原因:
if (mOwningView == null || mOwningView.mAttachInfo == null) {
throw new IllegalStateException("Cannot start this animator on a detached view!");
}
因此,当您在应用程序关闭和/或当前活动关闭时启动动画,或者您的视图由于另一个原因被删除时,应该会出现错误-添加案例检查(比如在
onPause
中设置变量isAnimationAllowed=false,在onResume
中设置变量isAnimationAllowed=true,谢谢你的建议。我会尝试一下,看看崩溃报告是否停止。我正面临着完全相同的问题,你找到解决方法了吗?
if (mOwningView == null || mOwningView.mAttachInfo == null) {
throw new IllegalStateException("Cannot start this animator on a detached view!");
}