我在自定义视图上使用硬件层,以便在为其 Alpha 制作动画时获得更好的性能。在我的崩溃记者上看到这次崩溃:
Fatal Exception: java.lang.IllegalStateException: Unable to create layer for X
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5585)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
我当前的解决方法是等待这种情况发生,然后存储“设备不支持硬件层”的布尔值,并继续一次崩溃......然后下次返回到更简单的动画。
鉴于这是异步发生的,我无法真正尝试捕获。有谁知道一种方法来预先检查操作是否会成功,以便直接使用回退而不必使用户崩溃一次?
Thanks!
看起来类似于https://issuetracker.google.com/issues/118714995 https://issuetracker.google.com/issues/118714995。看看这是否有帮助。
使用 View#forceHasOverlappingRendering(false) 设置父视图。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)