Как выбрать механизм фоновой работы
Вопрос
Как выбрать между корутинами, WorkManager, foreground service и AlarmManager?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Ответ
Работа нужна, пока пользователь на экране: корутины в viewModelScope. Гарантированно выполнить, можно отложить, с условиями: WorkManager. Долгая заметная пользователю работа (музыка, навигация, звонок): foreground service с типом. Точное время: AlarmManager. Должно завершиться, пока процесс жив: application-scope.
Разбор
Работа нужна, пока пользователь на экране: корутины в viewModelScope. Гарантированно выполнить, можно отложить, с условиями: WorkManager. Долгая заметная пользователю работа (музыка, навигация, звонок): foreground service с типом. Точное время: AlarmManager. Должно завершиться, пока процесс жив: application-scope.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.