在android上暂停自定义线程的问题

时间:2015-07-30 01:38:06

标签: android multithreading surfaceview

hyI使用自SurfaceView和自定义Thread作为循环的自定义类制作游戏。按下主页或返回按钮时出现问题。我搜索并搜索了一下,我发现这段代码似乎有效:

public void surfaceCreated(SurfaceHolder holder) {
    if (myThread.state==GameThread.PAUSED) {
        myThread = new GameThread(this, getHolder());
    }
    myThread.start();
}

当然我在类中添加了变量,但它有时可以工作,有时不工作,当它不起作用时,它会在表面的onDraw方法的第一个绘制语句中返回一个错误,我不会知道为什么会这样......

1 个答案:

答案 0 :(得分:0)

可以找到SurfaceView与Activity生命周期之间的交互的讨论here。有一些奇怪的角落情况,很容易弄错。

Grafika中可以找到各种正确的例子(但不要看this one ......正如我所说,很容易弄错)。