3

一旦用户正确登录,我就有很长的网络任务要做。该任务包括以下内容:

1) 4 次调用 REST Web 服务。

2)将第1点获得的数据填充到sqlite数据库中。

3) 从同一个 REST Web 服务下载多个图像(例如 400)。

我使用 Volley 作为我的默认网络库来做这些事情。

我的问题是:

你有什么我应该考虑的建议吗?IntentService 是实现此类任务的最佳方法还是 Service 是最佳方法?

4

2 回答 2

1

Volley 作为服务运行是一个很好的方法。

合并消息总线,如 Otto,将数据传输到您的应用程序。该服务可以在其操作完成时将事件发布到总线,并且您的应用程序应注册到该事件并在完成时执行操作。

总线允许您实现异步行为和简洁的设计。

于 2015-08-13T12:26:19.657 回答
0

我猜,@avendael 目前的回答有点错过了这个问题。

IntentService扩展Service并有一个主要限制 - 它按顺序而不是并行执行任务。但是 Volley,对于网络特别是,您可以与服务器建立多个连接。默认值为 4,但它是可配置的。

的另一个主要限制IntentService,尽管这与此处发布的问题相关,但它非常适合started服务类型而不是binding它。我相信在这方面Volley是相似的。IntentService

希望有帮助。

于 2014-10-30T22:42:25.563 回答