我有一个来自小型测试应用程序内的Thread
类的线程。我通过使用start()
方法启动它。不幸的是,当我使用停止按钮从Eclipse中停止应用程序的执行时,它似乎没有终止。我可以让线程终止的唯一方法是卸载应用程序。
这是正常的吗?我是否可以通过在调试器中停止来完全停止和退出内存,或者我是否总是必须使用“干净”的方式从应用程序本身退出?
答案 0 :(得分:1)
您可以通过停止活动的onDestroy()或onStop()中的Thread来干净地完成。要停止线程,您可以在线程中保留一个标志,并在您想要停止时将其打开。
public void stopRunning() {
stopped = true;
}
public void run() {
while (!stopped) {
try {
// Do something
} catch (InterruptedException e){
e.printStackTrace();
}
}
}