SurfaceView 残影
时间: 2023-08-16 22:37:03 浏览: 240
SurfaceView的使用
SurfaceView 残影问题是因为 SurfaceView 的双缓冲机制引起的,即前一帧的像素数据在绘制下一帧时没有被清空,导致出现残影。
解决 SurfaceView 残影问题的方法有两种:
1. 在 SurfaceView 的 surfaceDestroyed() 方法中,手动清空 SurfaceView 的画布。示例代码如下:
```
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
Canvas canvas = holder.lockCanvas();
if (canvas != null) {
canvas.drawColor(Color.BLACK);
holder.unlockCanvasAndPost(canvas);
}
}
```
2. 使用 OpenGL ES 绘制,可以通过清空帧缓冲区来解决残影问题。这种方法相对比较复杂,需要了解 OpenGL ES 的相关知识。
阅读全文