Ответ
Job — это абстракция для выполнения фоновой работы в Android. Представляет единицу работы, которую система может планировать и выполнять в оптимальное время (например, при наличии сети или зарядке устройства).
Ключевые особенности:
- Выполняется вне жизненного цикла приложения
- Оптимизирует батарею (работает в пакетах)
- Подходит для периодических/отложенных задач
Пример (JobScheduler):
val jobScheduler = getSystemService(JOB_SCHEDULER_SERVICE) as JobScheduler
val jobInfo = JobInfo.Builder(1, ComponentName(this, MyJobService::class.java))
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
.setPeriodic(15 * 60 * 1000)
.build()
jobScheduler.schedule(jobInfo)
Альтернативы: WorkManager (рекомендуется), AlarmManager, Handler.