我剛加入android系列。如何避免重複線程?
我正在實現一個與處理程序和線程相關的事情。
當我運行我的應用程序時,創建並運行一個處理程序。
這很好,但我再次運行我的應用程序,再次 再創建一個處理程序並運行。
它增加了處理程序的重複 - 我該如何避免這種情況?
我剛加入android系列。如何避免重複線程?
我正在實現一個與處理程序和線程相關的事情。
當我運行我的應用程序時,創建並運行一個處理程序。
這很好,但我再次運行我的應用程序,再次 再創建一個處理程序並運行。
它增加了處理程序的重複 - 我該如何避免這種情況?
Android中的每個Application
運行在其own
process
,所以它不是一個大問題擔心它。 OS
本身會照顧它。您也可以使用Handler
停止Thread/Runnable
,當您認爲它不需要它繼續運行並且其任務完成時。你可以看看Android Runtime
每個應用程序將有啓動期間運行onCreate()
和onDestroy()
關閉應用程序時運行。在暫停(例如按HOME按鈕)的情況下,恢復時將運行onPause()
和onResume()
。你可以利用這些函數來確保你的線程被殺死或正確關閉。舉例:
boolean checkcondition = true;
Thread t = new Thread() {
public void run() {
while(checkcondition) {
}
}
};
public void onDestroy() {
checkcondtion = false;
super.onDestroy();
}
這將導致所有進程中止。
我正在brodcastreceviers class中實現處理程序,它不會銷燬。 – kiran 2012-02-11 06:42:04
acthually我正在做的是我通過報警管理器在每一分鐘呼叫一個brodcastreceiver類。在brodcast接收器類我正在壓縮它正在運行的一個hanler。一分鐘後brodcast接收器類將通過報警管理器調用那時候還有一個處理程序被創建,如何重複處理程序的重複。 – kiran 2012-02-11 06:11:01
呼叫broadcastreceiver,還有什麼?這是不夠的信息。你應該更新你的問題。 – 2012-02-11 06:13:56
brodcasrreceiver類是每隔一分鐘呼叫一次。在brodcastreceiver類中,我實現了一個處理程序。再次調用此類之後,又創建了一個處理程序。如果您有任何解決方案,請幫助我。提前感謝 – kiran 2012-02-11 06:20:42