我看到了兩種方法每隔X次檢查一次Android服務器,因此我想問問哪種方式更好。每5分鐘檢查一次服務器
我的應用程序正在從服務器請求一個HTML頁面。
第一個選項是運行5分鐘睡眠時間的服務。 第二個選項,設置觸發廣播接收器的間隔時間爲5分鐘的報警管理器。
很高興,如果你能告訴我哪種方式更好,或者如果有更好的方法。
謝謝。
我看到了兩種方法每隔X次檢查一次Android服務器,因此我想問問哪種方式更好。每5分鐘檢查一次服務器
我的應用程序正在從服務器請求一個HTML頁面。
第一個選項是運行5分鐘睡眠時間的服務。 第二個選項,設置觸發廣播接收器的間隔時間爲5分鐘的報警管理器。
很高興,如果你能告訴我哪種方式更好,或者如果有更好的方法。
謝謝。
我會建議使用AlarmManager
,並設置報警每5分鐘,並使用BroadcastReceiver
得到的消息。
我的理由是,當你在後臺運行服務,如果操作系統需要更多的資源,它會殺死你的服務,並得到其資源用於其他應用,但與報警你減少殺死你的應用程序的風險。
關於檢查服務器,您應該諮詢this手冊。只需向服務器發送一次輪詢請求,即可讓您的收音機至少有效30秒並消耗您的電池。所以也許你應該重新考慮你的間隔甚至你的策略。其他
一個注意:如果你只是在檢查新的數據服務器,並希望如果事情已經改變被告知可以使用Cloud Messaging。您可以在雲中執行大部分處理,只需將重要數據發送回設備即可。這是更高效
有什麼更好的?每隔5分鐘使用一次報警管理器,或每5分鐘設置一次報警器? –
@guybenhemo以5分鐘的時間間隔重複設置鬧鐘 – Pooya
我同意@Pooya。此外,您應該實施啓動接收器,以便在手機重新啓動時設置鬧鐘。下面是我從http://developer.android.com/shareables/training/Scheduler.zip
下載示例應用程序你需要做的做,只有當應用程序是用戶可見的?我建議嘗試使用https://developers.google.com/cloud-messaging/network-manager – jakubbialkowski
爲什麼不直接ping服務器?您可以使用Quartz或cron4j等調度程序來實現5分鐘的睡眠時間。 –
使用ScheduledThreadPoolExecutor – Madhusudhan