2013-12-19 151 views
0

在我的Android應用程序中,我有IntentService正在上傳一些東西。互聯網連接重試的策略

有時候沒有互聯網連接或連接質量太差,無法上傳。在這些情況下,service需要在某個時候重試。我有BroadcastReceiver,它在網絡連接發生變化或一段時間後(如果有連接但上傳失敗)喚醒我的service

喚醒這樣的最佳策略是什麼upload service?我應該什麼時候等多少?我應該在收到網絡更改後立即醒來service嗎?

回答

2

我相信來自Google員工的談話(如Reto Meier)建議通過將閒置時間加倍(或其他因素)來創建一個系統,在該系統中重新嘗試需要的時間越來越長。

所以,你第一次等待...... 5秒,然後10,20,40,80 ....

+0

是的,但是連接有什麼變化?例如,如果用戶每5分鐘更改連接類型,並且連接總是太差,則應用程序會在5,10,20,40,80,160,5,10,20,40等等秒後詢問。 – Ari

+0

我認爲這是假設成功建立連接時重置重試率。 – cYrixmorten