本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点
SurfaceView 和 TextureView 是 Android 应用开发中用于显示内容的两种常用视图,尤其是在需要呈现视频或其他图形内容时。理解它们的作用和区别对于在不同场景下选择合适的视图非常重要。
SurfaceView
作用:
SurfaceView提供了一种将内容直接绘制到屏幕上的方式,主要用于高效显示频繁更新的内容,比如视频、游戏图形等。
特点:
- 默认在独立的窗口(Surface)中绘制:
SurfaceView创建一个独立的窗口,通过一个独立的Surface进行绘制,绘制过程和主线程分离,减少卡顿。 - 较低延迟:由于
SurfaceView使用独立的表面,它的绘制操作会更加顺畅高效,适合需要高帧率的场景。 - 不支持变换(Translation、Rotation 等):
SurfaceView不支持像普通视图一样进行移动、缩放、旋转等变换操作,因为这些操作需要从根本上重排独立的Surface。
使用场景:
- 视频播放
- 高性能游戏图形渲染
val surfaceView = findViewById<SurfaceView>(R.id.surfaceView)
val holder = surfaceView.holder
holder.addCallback(object : SurfaceHolder

最低0.47元/天 解锁文章
228

被折叠的 条评论
为什么被折叠?



