一旦用户正确登录,我就有了很长的网络任务。此任务包括以下内容:
1)4次调用REST Web服务。
2)将第1点中获得的数据填充到sqlite数据库中。
3)从同一个REST Web服务下载多个图像(例如400)。
我正在使用Volley作为我的默认网络库来完成这些工作。
我的问题是:
你有什么建议我应该考虑吗? IntentService是实现这类任务的最佳方法还是服务是最佳方式?
答案 0 :(得分:1)
Volley作为一项服务运行是一种很好的方法。
合并消息总线,如Otto,将数据传输到您的应用。该服务可以在其操作完成时将事件发布到总线,并且您的应用程序应该注册到事件并在完成时执行操作。
总线允许您实现异步行为和干净的设计。
答案 1 :(得分:0)
@avendael当前的回答有点想念这个问题,我想。
IntentService
扩展Service
并有一个主要限制 - 它按顺序而不是并行执行任务。但是Volley,对于网络esp,你可以有多个服务器连接。默认值为4,但可以配置。
IntentService
的另一个主要限制,虽然它与此处发布的问题相关,但它非常适合started
类型的服务而不适用于{ {1}}。我认为binding
在这方面类似于Volley
。
希望有所帮助。