2. AlarmManager запускает запланированные операции даже если приложение остановлено. В качестве операций используются PendingIntents.
AlarmManager доступен с
API v1
, но по умолчанию не работает в Doze Mode. Для работы в Doze Mode используется метод setAndAllowWhileIdle()
. Этот метод доступен с API v23
.3. JobScheduler позволяет работать в Doze Mode и доступен с
API v21
. Система группирует задачи, запланированные через JobScheduler. Когда появляется окно в Doze Mode, выполняется сразу несколько задач. Этот подход бережет батарейку устройства.
4. GCMNetworkManager и Firebase JobDispatcher – это библиотеки, разработанные Google. Являются своеобразными бэкпортами JobScheduler. Обе библиотеки требуют установленных на устройстве Google Play Services.
На данный момент обе библиотеки deprecated. Firebase JobDispatcher не поддерживается с 7 апреля 2020, а поддержка GCMNetworkManager будет остановлена 1 ноября 2020.
5. WorkManager – библиотека из Android Jetpack. WorkManager работает начиная с
API v14
. Google рекомендует использовать WorkManager вместо решений, разработанных ранее.Под капотом WorkManager использует JobScheduler на устройствах с
API v23+
. На версиях API 14 - 22
используется GCMNetworkManager или AlarmManager.