簡體   English   中英

與Volley庫和服務的長期聯網操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM