我正在創建一個在後臺運行的服務。它具有以下功能:每隔X分鐘服務按間隔運行任務;它應該是它自己的過程嗎?
- 收集用戶的數據(許可)
- 奔跑某些任務,而這個數據發送到服務器的每Y個分鐘
- 我想,如果其他人能編寫自己的用戶界面,小工具和其他很酷的東西。
當前,服務在任務運行/網絡發送(沒有喚醒鎖定)之間繼續運行。
該服務監聽驗證和運行時更改;這需要一個單獨的過程。有辦法解決這個問題,但他們會涉及使用IPC(我認爲這不會造成大的性能下降)。
問題:
- 如果該服務被允許在任務之間死或者我應該讓它沒有激活鎖定運行?
- 保持活力比每分鐘左右打開一個數據庫更有效嗎?
- 如果不在單獨的進程中,人們可以使用我的服務嗎?
工作線程在服務被終止時不會死掉嗎?我有很長時間的運行任務,我希望能夠在運行時處理其他事情,這就是爲什麼我迄今尚未使用IntentService。 –
@尼克拉斯答:我不知道你在說什麼。 – CommonsWare
如果我從onHandleIntent中產生一個工作線程,該線程會在服務關閉時死掉,但我很清楚...由於intent服務無法同時處理多個意向,因此會發生此問題。 –