定义
Surface意为表层、表面,顾名思义SurfaceView就是指一个在表层的View对象。为什么说是在表层呢,这是因为它有点特殊跟其他View不一样,其他View是绘制在“表层”的上面,而它就是充当“表层”本身。
特点
SurfaceView默认使用双缓冲技术的,它支持在子线程中绘制图像,这样就不会阻塞主线程了。
SurfaceView是用来控制自定义绘图的,为什么不用自定义view来完成绘图呢?答案是肯定的。自定义view可以实现绘图,但自定义view有缺陷:那就是无法实现自动控制动画的显示速度,因为View的帧数是由系统控制的。因此,surfaceview的优势在于可以自己控制帧数,比较适合对帧数要求较高的程序。
参考:
Android图形系统之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的联系