Что такое Sticky Service

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

Ответ

Sticky Service — это сервис, который автоматически перезапускается системой после завершения (например, из-за нехватки памяти), если он был остановлен. Это полезно для критически важных фоновых задач, которые должны выполняться постоянно.

Ключевые особенности:

  • Возвращает START_STICKY в onStartCommand()
  • Не сохраняет входящие интенты (при перезапуске intent будет null)
  • Используется для долгосрочных операций (например, музыкальный плеер)
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
    // Ваша логика сервиса
    return START_STICKY
}

Важно: С Android 8.0 (API 26) предпочтительно использовать JobIntentService или WorkManager для фоновых задач.