为什么不推荐使用SurfaceView?

时间:2015-08-11 02:40:22

标签: android surfaceview textureview

我知道在ICS之后出现了TextureView。 但是,ICS不会弃用SurfaceView。

SurfaceView具有打孔结构,因此它有很多限制点。 无法堆叠两个SurfaceView,无法翻译等等。

尽管出现了TextureView,为什么不推荐使用SurfaceView?

1 个答案:

答案 0 :(得分:5)

SurfaceView速度更快,可以处理受DRM保护的视频。

打孔结构是必要的,因为SurfaceView的Surface由系统合成器直接处理。对于TextureView,您在Surface上绘制,在应用程序中将其转换为GL纹理,应用程序第二次将其渲染到View图层上。所以还有一个额外的副本。

对于受DRM保护的视频,不允许任何用户或系统代码(甚至Linux内核)都看不到未加密的像素。只有视频解码器和显示硬件。因为SurfaceView只是转发引用,并且没有触及实际数据,所以这可行。

有关详细信息,请参阅graphics architecture doc