2012-02-11 96 views
0

我剛加入android系列。如何避免重複線程?

我正在實現一個與處理程序和線程相關的事情。

當我運行我的應用程序時,創建並運行一個處理程序。

這很好,但我再次運行我的應用程序,再次 再創建一個處理程序並運行。

它增加了處理程序的重複 - 我該如何避免這種情況?

回答

0

Android中的每個Application運行在其ownprocess,所以它不是一個大問題擔心它。 OS本身會照顧它。您也可以使用Handler停止Thread/Runnable,當您認爲它不需要它繼續運行並且其任務完成時。你可以看看Android Runtime

+0

acthually我正在做的是我通過報警管理器在每一分鐘呼叫一個brodcastreceiver類。在brodcast接收器類我正在壓縮它正在運行的一個hanler。一分鐘後brodcast接收器類將通過報警管理器調用那時候還有一個處理程序被創建,如何重複處理程序的重複。 – kiran 2012-02-11 06:11:01

+0

呼叫broadcastreceiver,還有什麼?這是不夠的信息。你應該更新你的問題。 – 2012-02-11 06:13:56

+0

brodcasrreceiver類是每隔一分鐘呼叫一次。在brodcastreceiver類中,我實現了一個處理程序。再次調用此類之後,又創建了一個處理程序。如果您有任何解決方案,請幫助我。提前感謝 – kiran 2012-02-11 06:20:42

0

每個應用程序將有啓動期間運行onCreate()onDestroy()關閉應用程序時運行。在暫停(例如按HOME按鈕)的情況下,恢復時將運行onPause()onResume()。你可以利用這些函數來確保你的線程被殺死或正確關閉。舉例:

boolean checkcondition = true; 
Thread t = new Thread() { 
    public void run() { 
     while(checkcondition) { 

     } 
    } 
}; 

public void onDestroy() { 
    checkcondtion = false; 
    super.onDestroy(); 
} 

這將導致所有進程中止。

+0

我正在brodcastreceviers class中實現處理程序,它不會銷燬。 – kiran 2012-02-11 06:42:04