尝试getHardwareLayer时,TextureView崩溃

时间:2013-06-04 15:50:26

标签: android

这似乎发生在许多用于4.2.x生产应用程序的设备上,但我无法在自己的设备上重现它,(4.1和4.0不受影响)。查看TextureView的源代码,看起来像mAttachInfo.mHardwareRenderer.createHardwareLayer(mOpaque)返回null并且因此触发了NPE。我想如果这只发生在不支持硬件加速的设备上,但看起来很多Nexus 4设备也会受到影响(不是我自己的Nexus 4)。 'android:hardwareAccelerated =“true”'也在清单中。

TextureView.java line 379 android.view.TextureView.getHardwareLayer

致命异常java.lang.NullPointerException

TextureView.java第379行

android.view.TextureView.getHardwareLayer

View.java line 13087

android.view.View.getDisplayList

View.java line 13162

android.view.View.getDisplayList

View.java line 13896

android.view.View.draw

ViewGroup.java第3024行

android.view.ViewGroup.drawChild

ViewGroup.java第2893行

android.view.ViewGroup.dispatchDraw

1 个答案:

答案 0 :(得分:0)

事实证明,视图已被删除onSurfaceCreated,您无法在4.2中删除该视图,并且根本不应该执行此操作。 (按照罗曼的说法:“你做得不好!”)