2011-07-26 27 views
3

我有一個可以綁定服務和調用服務方法我的主要活動。的Android綁定的服務,活動時解開它發生什麼?

的服務方法啓動一個線程(在服務)下載數據並存儲在數據庫中。在下載結束時,線程可以重新啓動。

什麼發生,如果活動的呼叫unbindService(即在onPause)?當所有任務結束時,服務被銷燬並且線程停止或服務被銷燬?

回答

8

如果該服務被使用startService()方法之前啓動,然後綁定到它,取消綁定服務後會繼續運行。

如果您剛剛通過使用bindService()啓動服務,如果在綁定服務時沒有其他Activity綁定到服務,則該服務將在創建該服務時創建該服務,否則該服務將停止。

+0

該服務使用bindService()開始,但是當活動取消綁定服務是相同的線程仍然可以運行,我的問題是,什麼發生在這些任務?他們完成還是被殺了? – kristby

+0

線程將繼續運行。你需要阻止他們。您必須重寫Services onStop()方法,並且您應該停止當前正在執行的線程。 –

相關問題