REST API服务:应该绑定还是IntentService?

问题描述:

如果我们定义一个服务来处理我们的REST APIREST API服务:应该绑定还是IntentService?

这个服务应该绑定还是IntentService?

由于我们需要从许多活动中访问它,并且需要它来保存当前的客户端 - 服务器状态属性,我认为我们应该选择绑定服务,但是我是对的吗?

摘要
因此,最后我决定组合Singleton和Sync Adapter模型。 Sync适配器适用于大型数据集,Singleton适用于查询非数据调用。

你为什么不尝试使用SyncAdapter? 看看this博客文章。

+0

有趣,但让用户停止同步数据真的是个好主意吗?由于应用程序需要获得最新的数据,或者大部分功能无法使用。 –

+0

使用'SyncAdapter'并不意味着你不能强制更新。 – Macarse

+1

虽然你回答最后,你的回答给我提供了我需要的大部分信息。谢谢 –

绑定服务将是最好的选择,如果你需要保持状态。 IntentService更适用于调用的工作队列类型,服务启动的位置,执行一些工作,然后在没有更多工作时停止。

使用服务而不是单例服务的唯一优势是,如果您的进程启动了服务,则进程不太可能被操作系统杀死(请参阅此答案 - Android: When to use Service vs Singleton?)。

所以我只想用一个单身,而不是服务。也许开始一个虚拟服务作为一种告诉操作系统你想尽可能留在内存中的方式。当你的程序被杀死后,停止虚拟服务。

+0

是的,可能的。我们可以将这个单例放入不同的线程吗?避免设置UI无响应。 –

+0

当然,你应该在你的单例中启动一个新的线程(你也必须在服务中这样做)。 – fhucho