Какие знаешь альтернативы Service

«Какие знаешь альтернативы Service» — вопрос из категории Android компоненты, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android есть несколько альтернатив Service в зависимости от задачи:

  1. WorkManager – для отложенных фоновых задач, которые должны выполняться даже после перезапуска приложения.
  2. JobScheduler (API 21+) – для планирования задач с учетом условий (сеть, зарядка и т.д.).
  3. AlarmManager – для точного или периодического выполнения задач, но менее энергоэффективен.
  4. Foreground Service (с уведомлением) – для долгих задач, требующих уведомления пользователя.
  5. Coroutines + LifecycleScope – для фоновых задач в UI-потоке с автоматическим управлением жизненным циклом.
  6. IntentService (устарел) – для одноразовых задач в фоне, заменен на WorkManager.

Пример WorkManager:

val workRequest = OneTimeWorkRequestBuilder<MyWorker>().build()
WorkManager.getInstance(context).enqueue(workRequest)