2016-04-14 72 views
0

我看到了兩種方法每隔X次檢查一次Android服務器,因此我想問問哪種方式更好。每5分鐘檢查一次服務器

我的應用程序正在從服務器請求一個HTML頁面。

第一個選項是運行5分鐘睡眠時間的服務。 第二個選項,設置觸發廣播接收器的間隔時間爲5分鐘的報警管理器。

很高興,如果你能告訴我哪種方式更好,或者如果有更好的方法。

謝謝。

+0

下載示例應用程序你需要做的做,只有當應用程序是用戶可見的?我建議嘗試使用https://developers.google.com/cloud-messaging/network-manager – jakubbialkowski

+0

爲什麼不直接ping服務器?您可以使用Quartz或cron4j等調度程序來實現5分鐘的睡眠時間。 –

+0

使用ScheduledThreadPoolExecutor – Madhusudhan

回答

2

我會建議使用AlarmManager,並設置報警每5分鐘,並使用BroadcastReceiver得到的消息。

我的理由是,當你在後臺運行服務,如果操作系統需要更多的資源,它會殺死你的服務,並得到其資源用於其他應用,但與報警你減少殺死你的應用程序的風險。

關於檢查服務器,您應該諮詢this手冊。只需向服務器發送一次輪詢請求,即可讓您的收音機至少有效30秒並消耗您的電池。所以也許你應該重新考慮你的間隔甚至你的策略。其他

一個注意:如果你只是在檢查新的數據服務器,並希望如果事情已經改變被告知可以使用Cloud Messaging。您可以在雲中執行大部分處理,只需將重要數據發送回設備即可。這是更高效

+0

有什麼更好的?每隔5分鐘使用一次報警管理器,或每5分鐘設置一次報警器? –

+0

@guybenhemo以5分鐘的時間間隔重複設置鬧鐘 – Pooya