对android中的surfaceview的困惑,双缓冲区该怎么理解
1个回答
展开全部
双缓冲主要是为了解决 反复局部刷屏带来的闪烁。把要画的东西先画到一个内存区域里,然后整体的一次性画出来,游戏通常会采用此方式一般游戏里说的双缓冲防止画面闪烁,只是每一帧先绘制到bitmap再绘制到SurfaceView的canvas。
.而框架中的Surface的双缓冲是另一个概念。 事实上不管是View还是SurfaceView都会使用到Surface双缓冲技术,在4.1以后更是引入了三缓冲。
部分看到的画面实际上就是Surface的三缓冲造成的。使用SurfaceView每次lockCanvas获取到的画布都是1,2,3个画布轮流切换。
Surface的多缓冲是系统可以指定的, 4.1以前默认是2个,4.2以后默认是3个,厂商可以修改,最多可以使用32个缓冲区。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询