1

我有一些经验SurfaceView。为了防止不必要的重绘,我总是使用一个倒计时变量来告诉线程应该多久绘制一次视图。

countdown > 0 : draw ? doNothing

但是,我正在考虑将其更改为使用“推面”。因此,只需将缓冲区推到表面并显示它,而不是在我的项目中到处设置倒计时变量。

我的问题是我找不到描述用法的好教程/资源。目前我有这样的事情:

// panel is the SurfaceView
c = panel.getHolder().lockCanvas(null);
synchronized (panel.getHolder()) {
    panel.updatePhysics();
    panel.onDraw(c);
}
panel.getHolder().unlockCanvasAndPost(c);

我不知道如何让画布在我无法使用lockCanvas()文档中提到的情况下进行绘制。

4

1 回答 1

0

在弃用表面类型后,此问题已过时。所以不再使用了...

于 2011-03-28T08:56:49.720 回答