2012-03-23 30 views
0

我有一個Activity應用程序啓動服務並綁定到它。 即使退出活動後,我仍希望服務繼續運行。unbindService與stopService

現在我正在做一個stopService然後一個unbindService。我的假設是,我確實需要解除綁定,但保持運行我不應該(顯然)調用stopService,對吧?

我只是想知道適合長期服務的服務管理技巧。

回答

0

這可以從服務文檔回答:

注意,如果停止服務仍具有綁定到它與BIND_AUTO_CREATE集ServiceConnection對象,它不會被直到所有這些綁定被刪除銷燬。有關服務生命週期的更多詳細信息,請參閱服務文檔。

要清理您的服務,最好將其解除綁定。您可以隨時使用另一個使用Context.startService()的意圖重新啓動它。取決於你如何使用它,最好先啓動服務一段時間,做一些事情,停止它(你甚至可以使用一個調用stopSelf來做到這一點),然後當你有更多的工作時重新啓動它做 - 或者得到另一個意圖。瞭解。

+0

瞭解。當活動結束時,我看到解除綁定的原因。但是,如果我不停止服務,服務仍會繼續運行,即使退出後,對不對? – LiteWait 2012-03-23 16:36:33

+0

如果你沒有做任何工作,那應該沒有關係,它會一直活着,直到系統自然殺死它。這與在你的活動中發生的事情沒有什麼不同,因爲他們坐在應用程序堆棧中,無論如何... – 2012-03-23 16:44:27

+0

我實際上正在服務中工作。我正在收聽主頁按鈕並獲取GPS修正。如果我不需要它,我當然會停下來。被「解除綁定」的點解除了來自服務的活動,但是停止服務會將其終止。事實上,我想知道爲什麼我甚至需要綁定它。 – LiteWait 2012-03-23 18:18:40

相關問題