我有离线工作并与服务器同步。 因此,当有Internet连接时,用户正在进行更改并且所有更改都是同步的(两种方式)。当新数据从另一个源(例如WWW)到达时,服务器也向客户端发送推送。客户端在尝试推送后尝试从服务器获取新数据。
我在后台运行的手动创建的线程上完成了所有操作。我正在重构这个代码,我认为我可以将它移动到IntentService。我从这个“模块”所需要的只是:
在Android应用中创建多个intent服务是个好主意吗?
答案 0 :(得分:1)
IntentService
远比代码线程从头开始好,你可以让多个服务“运行”(小心“运行”服务的概念)。请记住,更多服务同时“运行”意味着更多线程和更多资源被耗尽。
但如果你不需要实时同步(你真的需要它吗?你确定吗?)看看SyncAdapters
,这是让Android本身处理一些同步问题的好方法,比如缺乏互联网连接:
http://developer.android.com/training/sync-adapters/index.html
Google Cloud Messaging也可以为您提供帮助:
http://developer.android.com/google/gcm/index.html
关于SyncAdapters
的重要说明:您可以提示它何时进行同步,但可能会有延迟...所以请注意这会对您的应用程序产生何种影响。