我最近阅读了有关GcmTaskService和GcmNetworkManager来安排任务的信息.我的用例是典型的SyncAdapter,我需要定期与我的服务器同步一些数据,我目前使用SyncAdapter.
我的问题是GcmTaskService和SyncAdapter之间有什么区别.何时使用GcmTaskService vs何时使用SyncAdapter?
我的问题是GcmTaskService和SyncAdapter之间有什么区别.何时使用GcmTaskService vs何时使用SyncAdapter?
解决方法
GcmTaskService:由客户端应用程序实现,为GcmNetworkManager提供一个端点,以便在任务准备好执行时回调.必须根据执行窗口及时安排任务.在此执行窗口期间,调度程序将根据网络可用性,网络活动和负载,自行决定选择最佳执行时间.
Sync Adapter执行在服务器和本地数据库之间同步数据的工作.同步适配器以异步方式运行,它们可以定期有效地传输数据,但不是即时传输数据.如果需要进行实时数据传输,则应在AsyncTask或IntentService中进行.该框架有助于管理和自动化数据传输,并协调跨不同应用程序的同步操作.
Google云消息传递(GCM)提供了使此消息传递系统正常工作所需的服务器和设备组件.使用GCM触发传输比轮询服务器状态更可靠,更有效.虽然轮询需要始终处于活动状态的服务,但GCM使用在消息到达时激活的BroadcastReceiver.即使没有可用的更新,定期轮询也会使用电池供电,但GCM仅在需要时发送消息.