Что такое ограничения сервиса

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

Ответ

Сервис в Android — это компонент для выполнения фоновых операций без UI. Ограничения:

  1. Жизненный цикл — сервис может быть убит системой при нехватке памяти.
  2. Main Thread — по умолчанию работает в UI-потоке, нужно использовать AsyncTask/Handler/Coroutines.
  3. Фоновые ограничения (Android 8+):
    • Сервис будет остановлен через несколько минут работы в фоне.
    • Для долгих задач используйте JobScheduler или WorkManager.
  4. Foreground Service — для долгих операций требует нотификацию (Android 9+).

Пример Foreground Service:

val notification = NotificationCompat.Builder(this, CHANNEL_ID)
    .setContentTitle("Service running")
    .build()
startForeground(1, notification)