Thread

程式中時需要使用multithread進行背景作業, 但記得必須在程式結束前中止Thread。

查閱文件會發現不論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;

}