實際開發中總會遇到定時任務,比如後臺輪詢,就是每間隔一段時間就請求一次服務器,確認客戶端狀態或者進行信息更新等,基本方法有以下幾種:
1.使用Timer和Timer Task實現
缺點:這種方法不適合長期的後臺任務,CPU一旦休眠,Timer中的定時任務就無法運行。
2.開一個Service服務,在Thread裏面以while循環來實現
缺點:Service優先級比較低,當系統覺得當前的資源非常有限的時候,就會被銷燬,任務就停止了。
3.使用AlarmManager+Service+Thread實現
AlarmManager具有喚醒CPU的功能,比較適合。