外观
如何理解SurfaceView 与 TextureView?
标准回答
SurfaceView提供独立的Surface,内容通常通过独立图层参与显示合成,适合视频、相机等场景。TextureView把SurfaceTexture内容整合进View渲染,便于与View变换和裁剪协作,但可能引入额外GPU工作。
选择取决于变换、遮挡、同步、透明度、受保护内容、功耗及平台能力。不能笼统说SurfaceView不能动画,现代系统的行为与早期版本有差异;也不能说TextureView在所有情况下都更顺滑。
排查多屏视频时,应用主窗口流畅不代表视频Surface同样流畅,需要观察真正承载视频的图层和缓冲链路。
追问与回答
为什么普通View的帧统计看不出视频卡顿
视频可能使用独立Surface,统计覆盖与主窗口不同。需要关联对应图层、解码输出和显示时序。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q041