2013-08-23 82 views
1

我有一個簡單的android程序包含一個活動和一個服務。 我開始通過調用以下活動的服務:startService()當我關閉活動服務被殺害,然後再次開始

當我通過調用startService來關閉我的活動時,該服務應該繼續運行。我注意到的是,當我關閉活動時,服務被殺死,然後在短時間後重新開始。

這是在android的正常行爲? 如果這是正常的,有沒有辦法強制保持確切的服務運行?

非常感謝您 拉米

+3

Android可能會隨時決定終止您的服務,如果您設置了適當的標誌,則可以重新啓動它們。你不能改變這一點。不過,我認爲你的情況並不正常,因爲理論上android只會因內存不足而殺死服務器,而不是因爲你的'Activity'關閉。 – dst

+0

恩,謝謝你的回答。我會檢查是否有什麼問題,但是你的回答讓我想到另一個問題:在系統決定終止我的服務之前,我可以設置一個措施嗎? – Rami

回答

1

你是如何「關閉」的活動?完成使用後無需終止活動,即使您的活動位於後臺,服務也應繼續運行。

Service.onDestroy()在系統銷燬服務之前調用。但是,我傾向於認爲你有一個不同的問題,因爲除非你的設備內存非常低,否則服務被殺是不常見的。