查閱文件會發現不論destroy()方法或stop()方法都已聲明不應用來終止thread,而interrupt()方法也並不是用來終止thread。那麼到底該如何正確在應用程式結束時一併終止所建立的Thread,正確的作法是使用interrupt()方法並配合shared variable控制
boolean RUN_THREAD = true;
...
ocrThread = new Thread(){
public void run(){
while (RUN_THREAD){
//執行緒作業
}
}
};
ocrThread.start();
...
protected void onDestroy() {
RUN_THREAD = false;
ocrThread.interrupt();
ocrThread = null;
}