1

Thread我有一个从小型测试应用程序中的类派生的线程。我通过使用它的start()方法来启动它。不幸的是,当我使用停止按钮从 Eclipse 中停止应用程序的执行时,它似乎并没有终止。我可以让线程终止的唯一方法是卸载应用程序。

这是正常的吗?我可以通过在调试器中停止应用程序来完全停止并退出内存,还是我总是必须使用“干净”的方式从应用程序本身退出?

4

1 回答 1

1

您可以通过在 Activity 的 onDestroy() 或 onStop() 中停止线程来干净地完成此操作。要停止线程,您可以在线程中保留一个标志,并在您想要停止时将其打开。

public void stopRunning() {
    stopped = true;
}

public void run() {
    while (!stopped) {
        try {
            // Do something
        } catch (InterruptedException e){
            e.printStackTrace();
        }
    }
}
于 2013-05-08T01:26:38.630 回答