bbbzhuzhu 2013-03-19
作用:提高更新效率,加强用户体验,主要用来做快速的动画效果
原理:SurfaceView在更新视图时用到了两张Canvas,一张frontCanvas和一张backCanvas
每次实际显示的是frontCanvas,backCanvas存储的是上一次更改前的视图,当使用lockCanvas()获取画布时,得到的实际上是backCanvas而不是正在显示的frontCanvas,之后你在获取到的backCanvas上绘制新视图,再unlockCanvasAndPost(canvas)此视图,那么上传的这张canvas将替换原来的frontCanvas作为新的frontCanvas,原来的frontCanvas将切换到后台作为backCanvas。
因此,如果循环unlockCanvasAndPost实现动画效果
最后显示的是:最后绘制的那张缓冲画布。