【问题标题】:Google GMS Task vs Bolts Android TaskGoogle GMS 任务与螺栓 Android 任务
【发布时间】:2016-12-24 15:58:02
【问题描述】:

Facebook 有一个受欢迎的库 Bolts,它有助于更​​好地在 Android 上进行异步处理。他们声称在效率和代码可读性方面都优于 Android 原生 AsyncTask。我现在看到 Google 正在发布自己的 Tasks 版本,作为 GMS 库中适用于 Android 的 Google API 的一部分。它们的 API 看起来与 Bolts 非常相似。这两个库之间是否有任何比较——在效率等方面。我必须在我的应用程序中包含 GMS 来处理一堆其他东西——所以如果 GMS Task 与 Bolts Task 相当——最好不要包括螺栓,从而减小封装的大小。

【问题讨论】:

  • Google 任务没有 Task.whenAllResult 并且我还没有找到易于访问的执行程序(还)。

标签: android google-api facebook-android-sdk bolts-framework gcmtaskservice


【解决方案1】:

这里只是推测,但我认为google基本上是抄袭Parse的库并做了一些小调整。

API 基本相同。

大多数类具有相同的名称、结构和公共方法。

以下是我注意到的一些差异:

  • 在 bolts 中,当您调用 task.continueWith(continuation) 时,延续的默认调度程序是原始任务的调度程序,而在 google 的版本中,它是主线程调度程序
  • 认为 Google 删除了即时调度程序
  • Google 添加了方法重载,您可以在其中传递活动。如果您的活动暂停,唯一要做的就是取消任务。我不认为这很好,因为开发人员可能希望有一个完整的机制,当您返回活动时仍会提供结果,但那不会发生。

你应该使用哪一个?

如果您使用的是 GMS,可能是 google 的。

如果您不使用 GMS 并希望远离它(例如,在 Play 商店设备之外发布应用程序),请使用 Parse。

我没有测量或见过任何人测量它,但我认为结果是一样的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 2018-07-01
    相关资源
    最近更新 更多