我正在使用 Thread 在 Android 下进行滚动。线程运行方法是经典的。我在 Internet 上拿了它我的视图是 SurfaceView。
public void run() {
Canvas canvas = null;
while (_run) {
canvas = _surfaceHolder.lockCanvas();
if (canvas != null) {
_surface.doDraw(canvas);
_surfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
我不明白的是:为什么 doDraw (将在屏幕上绘制)每秒准确调用 60 次?为什么没有同步问题?
我不知道 LCD 是如何工作的,但是在屏幕上,如果您在不等待屏幕同步的情况下进行滚动,则屏幕顶部可能会显示上一个图像,而底部会显示正确的图像。我在Android上没有问题。
是处理一种双缓冲的 SurfaceView 吗?如果是这种情况,何时完成翻转?
我在互联网上没有找到任何相关信息!
谢谢艾蒂安