小编use*_*526的帖子

lockCanvas()返回不同的画布

尝试在单个画布上绘制每个ms的内容.我的意思是只向画布添加细节,而不是每一帧都重绘它.所以这段代码给了我三个不同的画布.第三,然后再次.为什么?

public void run() {
    this.run = true;
    Canvas canvas = null;
    while (run) {
        try {
            canvas = this.surfaceHolder.lockCanvas();
            synchronized (this.surfaceHolder) {
                Thread.sleep(delay);
                draw(new Img(canvas, size));
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            if (canvas != null) {
            this.surfaceHolder.unlockCanvasAndPost(canvas);
            }
        }
        synchronized (this) {
            if (wait) {
                try {
                    wait();
                } catch (Exception e) {}
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果它是android三重缓冲 - 如何关闭它,或用它做一些事情?Android 4.2.1

java android android-canvas

11
推荐指数
1
解决办法
2406
查看次数

在Java中没有转换的两到长

我需要将double转换为long保留其二进制结构,而不是数值.只需更改类型,但保留二进制值.有原生方式吗?

java double casting long-integer

6
推荐指数
1
解决办法
1968
查看次数

标签 统计

java ×2

android ×1

android-canvas ×1

casting ×1

double ×1

long-integer ×1