我有一個長期運行線程,我在應用程序啓動時啓動:長時間運行的線程+生命週期
public class MyHelper extends Thread {
private AtomicBoolean mRun;
public void run() {
while (mRun.get()) {
...
}
}
}
public class App extends Application {
private MyHelper mHelper;
public void onCreate() {
mHelper = new MyHelper();
mHelper.start();
}
}
我們沒有得到任何的Android雖然「應用程序終止」信號,因此是上述保持我應用程序永遠在後臺運行?我不知道什麼時候關閉線。
我不知道用戶是否彈出堆棧中的最後一個活動(通過點擊後退按鈕),即使Thread仍處於等待狀態,我的Application實例是否會被銷燬?
感謝
看看這裏: http://stackoverflow.com/questions/680180/where-to-stop-destroy-threads-in-android-service-class – AlexS 2012-02-03 19:51:32
良好的聯繫,我們仍然有問題,我們不會當應用程序想要「終止」時不會發出信號,因此無法知道要關閉我們的線程。一位用戶建議設置Thread.setDaemon(true),看起來這是我能做的唯一的事情,但看起來有點冒失。幸運的是,當應用程序有後臺時,我們沒有在線程中做任何工作,但我擔心操作系統無法殺死該應用程序,因爲該線程已暫停,並且充當應用程序應該保持活動狀態的信號? – user291701 2012-02-03 21:25:31