A TextureView or a subclass can only be used with hardware acceleration enabled.错误原因分析

最近在编译android提供的camera2video源码时,在真机上运行,报以下错误,app一直黑屏,没有任何渲染效果。

02-24 10:01:15.859: W/TextureView(3219): A TextureView or a subclass can only be used with hardware acceleration enabled.


查找了半天,没有正面直接的回答和解决方案,最终在http://stackoverflow.com/上找到了相关的回答。

详情请看:http://stackoverflow.com/questions/9966228/android-textureview-hardware-acceleration-with-lockcanvas

检查 Hardware Acceleration .

基本上如果你想让你的TextureView进行硬件加速, 你必须保证硬件加速在TextureView的上下文的一些级别上是可用的,

例如,其中一种方案如下:

  • 在 application级别修改: 
  • 在 activity 级别修改: 
  • 在 window 级别修改:  getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

硬件加速事实上使用TextureView进行托管:

TextureView 仅仅可以在被硬件加速的窗口去使用. 在软件中渲染时, TextureView什么也不会做。



你可能感兴趣的:(TextureView,hardware,acceleratio,android开发)