我有一个功能
@Override
public void run() {
while(running && (!eof)){
if(surfaceHolder.getSurface().isValid()){
Canvas canvas = surfaceHolder.lockCanvas();
paint(canvas);
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
thread = null;
}
例如,paint(canvas) 调用一堆绘制图形和文本的其他函数
canvas.drawText("Time="+myRecord.getMyTime(), 100, 100, paint);
我遇到的问题是图形和文本都应该不断变化,它们不会被擦除,而是会不断地绘制自己。难道我的整个画布不应该每次都重新绘制,因为这就是双缓冲与 lock() 和 unlock() 一起工作的方式吗?我没有正确理解这一点吗?我该怎么做?