三者的定位和关系
Surface 是绘制对象,SurfaceView是一个组件,SurfaceHolder是SurfaceView操作Surface的接口。虽然SurfaceView里面包含Surface,但是SurfaceView无法直接操作Surface,需要借由SurfaceHolder这个接口类来操作。
SurfaceView的作用
Android里所有可视化组件都是继承自View,就好像Qt里的Item组件一样,其具备一个可视化组件的所有基本属性。所以SurfaceView就是一个包含Surface的View。
为什么不能单独使用Surface
上面也说了,Android里只有继承自View的组件才是可视化的,所以单独的Surface实例是无法再布局中展示出来的。