2011-06-21 71 views
7

我有一個android服務正在運行,但我想每隔X小時執行一次特定的服務方法來更新數據。在不浪費android資源的情況下做到這一點最好的方法是什麼?如何定期運行服務方法?

+0

爲什麼你不只是開始一次服務,然後添加一個計時器或使線程睡眠你喜歡的時間量? – CodeKrieger

+0

這將要求服務進程執行* always *。用了幾個小時。這不是資源有效的。 –

+0

謝謝!我在學習,我會搜索如何添加計時器。任何建議? – Ferran

回答

8

調查AlarmManager

說明:由於您希望服務方法每小時運行一次,因此您不希望保持服務進程始終運行。通過使用AlarmManager,操作系統可以在不需要時終止服務,然後在時間到時執行該方法。

+0

如果間隔時間是幾分鐘的話,該怎麼辦?使用AlarmManager是個好主意嗎?或者更好地讓服務調用的線程休眠幾分鐘? – Leeeeeeelo

+1

@Leeeeeeelo - 爲了提高效率,間隔小(小於10-15分鐘),您不應該使用AlarmManager。關於SO的其他討論,例如http://stackoverflow.com/questions/11434056/how-to-run-a-method-every-x-seconds –

相關問題