Что такое startService

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

Ответ

startService() — это метод для запуска сервиса в Android, который работает в фоне без привязки к UI. После вызова сервис продолжает работу, даже если приложение закрыто.

Особенности:

  • Сервис выполняется в главном потоке (нужен IntentService или JobIntentService для фоновых задач).
  • Для остановки — stopService() или stopSelf().
  • Не возвращает результат клиенту (для этого нужен bindService()).

Пример:

val intent = Intent(this, MyService::class.java)  
startService(intent)  

Важно:

  • На Android 8+ для фоновых сервисов нужен startForegroundService() с уведомлением.
  • Для долгих задач предпочтительнее WorkManager или JobScheduler.