0

我们需要为 Android 应用程序安排定期同步作业。没有硬性计划要求,但只要每 6-7 小时同步运行一次,就可以了(只要有网络连接)。我们使用 compileSdkVersion 作为 22 和 minSdkVersion 作为 15(ICS)。我可以找到几个解决方案:

  • AlarmManager(不考虑网络可用性)
  • SyncAdapter(需要同步帐户)
  • 作业调度器
  • Gcm网络管理器

以上哪个是最好的候选人,为什么?

4

1 回答 1

1

我会推荐 GcmNetworkManager 因为它可以完全满足您的需求。它甚至会保留一个周期性任务并在启动时恢复它们。

  • AlarmManager - 正如你所说,它不考虑网络可用性。此外,通过使用 GcmNetworkManager,您的应用程序对电池使用的影响较小,因为该任务通常会在其他任务运行时运行。
  • SyncAdapter - 更多用于基于服务器推送的同步。例如,它用于同步 gmail 和 Google 日历应用程序,当在 Web 客户端或其他设备上进行更改时,服务器会触发同步。
  • JobScheduler - 也是一个不错的选择,但它仅在 Android L 上可用。
于 2015-08-12T00:10:37.463 回答