12

JobScheduler排除仅支持 API > 21的事实-JobSchedulers旨在完全替代SyncAdapters?还是SyncAdapter包含任何缺少的功能JobScheduler

我的用例是每隔几个小时同步一个 RSS 提要。这可以通过 JobScheduler 实现 - 对吧?

4

2 回答 2

8

我想说JobScheduler不是直接替代SyncAdapter,它具有更专业的用途(在设备和服务器之间传输数据)。JobScheduler另一方面,用于安排在未来某个时间点执行的任务——就像AlarmManager——但具有更广泛的潜力。

顺便说一句,有一个backport 的尝试JobScheduler

于 2015-05-12T14:58:51.180 回答
5

同步适配器

该框架继续提供 SyncAdapter 类来管理在设备和服务器之间同步数据的任务。同步适配器专为在设备和云之间同步数据而设计;您应该只将它们用于此类任务。同步适配器的实现比上面提到的库和 API 更复杂,因为它们至少需要一个假的身份验证器和内容提供程序实现。由于这些原因,您通常不应该创建一个同步适配器只是为了在后台将数据同步到云。您应该尽可能使用 JobScheduler、Firebase JobDispatcher 或 GCM Network Manager。

在 Android N(API 级别 24)中,SyncManager 位于 JobScheduler 之上。如果您需要它提供的附加功能,您应该只使用 SyncAdapter 类。

https://developer.android.com/topic/performance/scheduling.html

于 2018-04-07T13:05:32.563 回答