Какие знаешь ограничения по времени у Service

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

Ответ

В Android Service имеет два основных ограничения по времени:

  1. Foreground Service - должен показать уведомление в течение 5 секунд после старта (startForeground()), иначе система убьёт процесс.

  2. Background Service (начиная с Android 8+):

    • Через несколько минут неактивности система может остановить сервис
    • На Android 9+ есть ограничение на фоновые операции (10 минут после выхода из фона)

Пример foreground сервиса:

override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
    val notification = createNotification()
    startForeground(NOTIFICATION_ID, notification)
    return START_STICKY
}

Для долгих операций лучше использовать WorkManager или Foreground Service с персистентным уведомлением.