Класс IntentService предоставляет простую структуру для запуска операции в одном фоновом потоке.

Класс IntentService предоставляет простую структуру для выполнения операции в одном фоновом потоке. Это позволяет ему обрабатывать длительные операции, не влияя на скорость отклика вашего пользовательского интерфейса. Кроме того, IntentService не подвержен влиянию большинства событий жизненного цикла пользовательского интерфейса, поэтому он продолжает работать при обстоятельствах, при которых AsyncTask

и IntentService имеет некоторые ограничения:

  • Он не может напрямую взаимодействовать с вашим пользовательским интерфейсом. Чтобы поместить его результаты в пользовательский интерфейс, вы должны отправить их в действие.
  • Рабочие запросы выполняются последовательно. Если операция выполняется в IntentService, и вы отправляете ему еще один запрос, запрос ожидает завершения первой операции.
  • Операция, выполняемая на IntentService, не может быть прервана.

Однако в большинстве случаев IntentService является предпочтительным способом для простых фоновых операций.