Skip to content

Latest commit

 

History

History
16 lines (7 loc) · 809 Bytes

File metadata and controls

16 lines (7 loc) · 809 Bytes

SurfaceView不仅可以应用在视频录制上,还可以应用在自定义控件上。

一般在控件渲染或绘制要求较高的情况下(比如,动画),可以继承SurfaceView来实现自定义View,这样定制出来的控件效果更加的流畅。

特点

SurfaceView允许我们在非UI线程上进行绘制,并且能够控制绘制的帧数;

SurfaceView采用双缓存机制,当在一个缓存的Surface上绘制完当前帧后,才将其推送到屏幕上显示,两个缓存轮流推送达到流畅的效果;

SurfaceView之所以能够在非UI线程上完成绘制操作,原因是其进行绘制时,并不是直接操作Canvas,而是操作Surface。Surface在Canvas的基础上进行了一层封装,允许我们在非UI线程上对其进行更新;