Какие знаешь виды Service

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

Ответ

В Android есть несколько видов Service:

  1. Foreground Service – выполняется с видимым уведомлением, имеет высокий приоритет. Используется для задач, важных для пользователя (например, музыкальный плеер).
val notification = NotificationCompat.Builder(this, CHANNEL_ID).build()
startForeground(1, notification)
  1. Background Service – работает в фоне, но с ограничениями (начиная с Android 8.0, нужно использовать WorkManager или JobScheduler для долгих задач).

  2. Bound Service – сервис, к которому подключаются компоненты (активити, фрагменты) через bindService(). Уничтожается, когда все клиенты отключаются.

  3. IntentService (устарел) – обрабатывал Intent'ы последовательно в фоновом потоке. Заменён на WorkManager или JobIntentService.

  4. JobIntentService (устарел с API 30) – аналог IntentService, но с поддержкой новых ограничений фоновых задач.

Современная альтернатива – WorkManager для отложенных задач и Foreground Service для критически важных операций.