【发布时间】:2015-08-11 02:40:22
【问题描述】:
我知道 TextureView 是在 ICS 之后出现的。 但是,SurfaceView 在 ICS 中并未被弃用。
SurfaceView 有打孔结构,所以有很多限制点。 不能堆叠两个SurfaceView,不能翻译等等。
为什么尽管出现了 TextureView,但 SurfaceView 没有被弃用?
【问题讨论】:
标签: android surfaceview textureview
我知道 TextureView 是在 ICS 之后出现的。 但是,SurfaceView 在 ICS 中并未被弃用。
SurfaceView 有打孔结构,所以有很多限制点。 不能堆叠两个SurfaceView,不能翻译等等。
为什么尽管出现了 TextureView,但 SurfaceView 没有被弃用?
【问题讨论】:
标签: android surfaceview textureview
SurfaceView 速度更快,并且可以处理受 DRM 保护的视频。
打孔结构是必要的,因为SurfaceView的Surface是由系统合成器直接处理的。对于 TextureView,您在 Surface 上绘图,该 Surface 在应用程序内转换为 GL 纹理,应用程序第二次将其渲染到 View 层上。所以有一个额外的副本。
对于受 DRM 保护的视频,不允许任何用户或系统代码(甚至 Linux 内核)查看未加密的像素。只有视频解码器和显示硬件。因为 SurfaceView 只是转发引用,而不接触实际数据,所以这是可行的。
更多详情,请参阅graphics architecture doc。
【讨论】: