Android 中如何關閉執行緒
在android中開啟的執行緒用Thread.stop()來關閉是不會真正關閉的,當我們再次start執行緒的時候,會產生異常:Thread is already started.
針對這個問題可以線上程的run方法裡,加一個判斷標誌。例如:
class TestThread extends Thread{
public void run(){
while(isTrue){
//做你要做的事。
}
}
}
在需要關閉的時候,將flag置為false: isTrue=false;並且將執行的執行緒物件掛起然後置為null(假設開啟的執行緒物件為mTestThread) :
mTestThread.interrupt();
mTestThread=null;
再次用到的時候進行如下處理即可:
if(mTestThread==null){
mTestThread=new TestThread();
mTestThread.start();
}