[英]Long networking operation with Volley library and Service
一旦用戶正確登錄,我就有一個很長的網絡任務。 此任務包括以下內容:
1)4次調用REST Web服務。
2)將第1點中獲得的數據填充到sqlite數據庫中。
3)從同一REST Web服務下載多個映像(例如400)。
我正在使用Volley作為我的默認網絡庫來完成這些工作。
我的問題是:
你有一些我應該考慮的建議嗎? IntentService是實現這類任務的最佳方法還是服務是最好的方法?
Volley作為服務運行是一種很好的方法。
合並消息總線(如Otto)將數據傳輸到您的應用程序。 該服務可以在其操作完成時將事件發布到總線,並且您的應用程序應該注冊到事件並在完成時執行操作。
總線允許您實現異步行為和干凈的設計。
我想,@avendael目前的答案有點錯過了這個問題。
IntentService
擴展了Service
並且有一個主要限制 - 它按順序執行任務而不是並行執行。 但是Volley,對於網絡esp,你可以有多個服務器連接。 默認值為4,但它是可配置的。
IntentService
另一個主要限制,雖然它與此處發布的問題相關,但它非常適合started
類型的服務而不是binding
到它。 我相信Volley
在這方面類似於IntentService
。
希望有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.