Skip to content
阅读进度

SurfaceView TextureView 和普通 View 的区别是什么? ​

返回 View 与显示链路 目录

标准回答 ​

普通 View 通常绘入所在窗口的内容缓冲区。SurfaceView 管理专用 Surface,内容可以由独立渲染者生成,系统再与界面合成,适合视频和持续渲染等场景;TextureView 通过 SurfaceTexture 获取内容,并参与普通 View 树的硬件加速合成,因此易于做常见 View 变换,但可能增加合成成本。SurfaceView 的缩放、裁剪、层级和同步能力随系统版本演进,不能一概说它不能做动画。选择时要结合渲染来源、性能、变换需求和安全内容要求。

延伸追问 ​

使用 SurfaceView 不代表框架自动替你创建渲染线程,渲染线程仍由业务或播放器决定。

内容来源 ​

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