Android工作线程没有退出

时间:2013-05-08 01:25:17

标签: android multithreading

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

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

1 个答案:

答案 0 :(得分:1)

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

public void stopRunning() {
    stopped = true;
}

public void run() {
    while (!stopped) {
        try {
            // Do something
        } catch (InterruptedException e){
            e.printStackTrace();
        }
    }
}