Androidでスクロールするためにスレッドを使用しています。スレッド実行方法は古典的です。インターネットで撮った 私のビューはSurfaceViewです。
public void run() {
Canvas canvas = null;
while (_run) {
canvas = _surfaceHolder.lockCanvas();
if (canvas != null) {
_surface.doDraw(canvas);
_surfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
私が理解していないのは、なぜ doDraw (画面に描画される) が 1 秒あたり正確に 60 回呼び出されるのですか? そして、なぜシンクロの問題がないのですか?
LCDの仕組みはわかりませんが、画面シンクロを待たずにスクロールすると、画面の上が前の画像、下が正しい画像を表示することがあります。Androidでは問題ありません。
一種のダブルバッファリングを処理するのはSurfaceViewですか?もしそうなら、いつフリップが行われますか?
インターネット上でそれに関する情報が見つかりません!
ありがとうエティエンヌ