`
ahua186186
  • 浏览: 554156 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SurfaceView双缓存机制

 
阅读更多
作用:提高更新效率,加强用户体验,主要用来做快速的动画效果

原理:SurfaceView在更新视图时用到了两张Canvas,一张frontCanvas和一张backCanvas

每次实际显示的是frontCanvas,backCanvas存储的是上一次更改前的视图,当使用lockCanvas()获取画布时,得到的实际上是backCanvas而不是正在显示的frontCanvas,之后你在获取到的backCanvas上绘制新视图,再unlockCanvasAndPost(canvas)此视图,那么上传的这张canvas将替换原来的frontCanvas作为新的frontCanvas,原来的frontCanvas将切换到后台作为backCanvas。

因此,如果循环unlockCanvasAndPost实现动画效果
最后显示的是:最后绘制的那张缓冲画布。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics