我在A activity的点击事件里开了个线程new Thread(new Runnable() {// do something}).start(),等线程跑完后会发送一个handler.sendMessage,然后A activity再做一些UI的处理,但如果我在打开线程的同时,把A activity关掉了,线程还是在那里运行着,请问,如何在关闭A activity的同时,把线程也关闭了?
------解决方案--------------------
嗯,有點麻煩, 自定義線程應該可以,如下:
CustomThread extends Thread {
volatile boolean mQuit = false;
...
public void quit() {
mQuit = true;
interrupt();
}
@Override
public void run() {
....
while(true) {
try {
......
} catch (InterruptedException e) {
if (mQuit) {
return;
}
continue;
}
}
}
------解决方案--------------------
那你就不要直接star了,理解一下activity的生命周期,把开始线程的方法写到里面,跟这activity开始而开始,activity销毁线程终止
------解决方案--------------------
重写onDestory()方法,在里面关闭线程。
------解决方案--------------------
声明一个类继承thread来操作关闭吧