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

本文介绍了Android游戏编程中如何利用SurfaceView进行连续渲染。SurfaceView是一个处理Surface的视图,允许在UI线程之外的独立线程进行渲染。通过SurfaceHolder的lockCanvas()和unlockAndPost()方法,可以安全地在Surface上进行绘制。文章还讨论了Surface的创建与有效性检查,以及在活动的onResume()和onPause()中启动和停止渲染线程的技巧,强调了volatile修饰符的重要性。
最低0.47元/天 解锁文章
192

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



