Facebook 有一个流行的Bolts库,它有助于更好地在 Android 上进行异步处理。他们声称在效率和代码可读性方面都优于 Android 原生 AsyncTask。我现在看到 Google 正在发布自己的Tasks版本,作为 GMS 库中用于 Android 的 Google API 的一部分。它们的 API 看起来与 Bolts 非常相似。这两个库之间是否有任何比较——在效率等方面。我必须在我的应用程序中包含 GMS 来处理一堆其他东西——所以如果 GMS Task 与 Bolts Task 相当——最好不要包括螺栓,从而减小包装的尺寸。
问问题
774 次
1 回答
0
我只是在这里推测,但我认为谷歌基本上复制了 Parse 的库并进行了一些小调整。
API 基本相同。
大多数类具有相同的名称、结构和公共方法。
以下是我注意到的一些差异:
- 在螺栓中,当您调用时
task.continueWith(continuation)
,延续的默认调度程序是原始任务的调度程序,而在谷歌的版本中,它是主线程调度程序 - 认为谷歌删除了即时调度程序
- Google 添加了方法重载,您可以在其中传递活动。如果您的活动暂停,唯一要做的就是取消任务。我不认为这很好,因为开发人员可能希望拥有一个完整的机制,当您返回活动时仍会提供结果,但这不会发生。
你应该使用哪一个?
如果您使用的是 GMS,可能是 google 的。
如果您不使用 GMS 并且想远离它(例如在 Play 商店设备之外发布应用程序),请使用 Parse。
我没有测量或见过任何人测量它,但我认为结果将是相同的。
于 2017-03-01T05:58:32.740 回答