Skip to content
阅读进度

如何理解SurfaceView 与 TextureView? ​

返回 View 与显示链路 目录

标准回答 ​

SurfaceView提供独立的Surface,内容通常通过独立图层参与显示合成,适合视频、相机等场景。TextureView把SurfaceTexture内容整合进View渲染,便于与View变换和裁剪协作,但可能引入额外GPU工作。

选择取决于变换、遮挡、同步、透明度、受保护内容、功耗及平台能力。不能笼统说SurfaceView不能动画,现代系统的行为与早期版本有差异;也不能说TextureView在所有情况下都更顺滑。

排查多屏视频时,应用主窗口流畅不代表视频Surface同样流畅,需要观察真正承载视频的图层和缓冲链路。

追问与回答 ​

为什么普通View的帧统计看不出视频卡顿 ​

视频可能使用独立Surface,统计覆盖与主窗口不同。需要关联对应图层、解码输出和显示时序。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。