JobScheduler
排除仅支持 API > 21的事实-JobSchedulers
旨在完全替代SyncAdapters
?还是SyncAdapter
包含任何缺少的功能JobScheduler
?
我的用例是每隔几个小时同步一个 RSS 提要。这可以通过 JobScheduler 实现 - 对吧?
JobScheduler
排除仅支持 API > 21的事实-JobSchedulers
旨在完全替代SyncAdapters
?还是SyncAdapter
包含任何缺少的功能JobScheduler
?
我的用例是每隔几个小时同步一个 RSS 提要。这可以通过 JobScheduler 实现 - 对吧?
我想说JobScheduler
不是直接替代SyncAdapter
,它具有更专业的用途(在设备和服务器之间传输数据)。JobScheduler
另一方面,用于安排在未来某个时间点执行的任务——就像AlarmManager
——但具有更广泛的潜力。
顺便说一句,有一个backport 的尝试JobScheduler
。
同步适配器
该框架继续提供 SyncAdapter 类来管理在设备和服务器之间同步数据的任务。同步适配器专为在设备和云之间同步数据而设计;您应该只将它们用于此类任务。同步适配器的实现比上面提到的库和 API 更复杂,因为它们至少需要一个假的身份验证器和内容提供程序实现。由于这些原因,您通常不应该创建一个同步适配器只是为了在后台将数据同步到云。您应该尽可能使用 JobScheduler、Firebase JobDispatcher 或 GCM Network Manager。
在 Android N(API 级别 24)中,SyncManager 位于 JobScheduler 之上。如果您需要它提供的附加功能,您应该只使用 SyncAdapter 类。
https://developer.android.com/topic/performance/scheduling.html