java.lang.IllegalStateException:无法为v创建图层

cas*_*orz 14 android android-5.0-lollipop

我在崩解剂上有这个例外,并且不知道如何重现或原因可能是什么.有没有人有任何关于我应该从哪里开始寻找的指示?仅影响Android 5+.

Fatal Exception: java.lang.IllegalStateException: Unable to create layer for v
       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)
Run Code Online (Sandbox Code Playgroud)

谢谢.

编辑:我想更新它不仅影响Android 5,它似乎影响Android 5+

Dor*_*ani 9

这个问题似乎与英雄元素引发层超过最大值的场景转换有关GPU 支持的尺寸

您应该查看您正在进行的任何活动交易,尤其是makeSceneTransitionAnimation().


pra*_*ala 5

Fatal Exception: java.lang.IllegalStateException: Unable to create layer for LinearLayout, size 1080x4160 exceeds max size 4096
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:323)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:6186)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
Run Code Online (Sandbox Code Playgroud)

我对 NestedScrollView 中的 RecyclerView 有同样的问题

RecyclerView <- 在 NestedScrollView 内

解决方案: 作为滚动视图或嵌套滚动视图中的 RecyclerView 尝试一次加载所有项目。由于 RecyclerView 一次加载所有项目,也会加载现在在屏幕上不可见的项目。如果您将日志放在 RecylerView 的 onBindViewHolder 中,您会发现所有项目都在开始时加载,而不是基于项目的可见性。

这会导致 UI 一次加载超过 1-1.5 个屏幕的内容。这会导致父 LinearLayout(在 ScrollView 内)抛出异常。建议对您的内容进行分页,并且一次加载不超过 1-1.5 个屏幕的内容。我也有与 Recyclerview 没有动画相关的问题