以下均转自Android游戏编程入门经典,转载请标明出处
SurfaceView类是一个用于处理Surface的视图,也是Android API提供的另一个类。
什么是Surface?它是一个抽象的原是缓冲区,被屏幕组合器用于渲染特定视图。屏幕组合器是Android上所有渲染的幕后推手,并最终负责将所有的像素点推送到GPU。
我们的目标就是在一个独立的线程中执行渲染,而不用大量占用UI线程,因为UI线程还有很多工作要做。SurfaceView类提供了一种在UI线程之外的线程中进行渲染的方式。
SurfaceHolder和锁定
为了在UI线程之外的另一个不同线程中渲染到SurfaceView,我们需要获得一个SurfaceHolder类的实例,如下所示:
SurfaceHolder holder = surfaceView.getHolder();
SurfaceHolder是Surface的一个包装,可为我们做一些辅助工作。它提供两个方法: