Как работает служба в фоновом режиме - Android

Мне был задан этот вопрос в интервью сегодня.

Что такое услуга? На что я ответил Service является базовым компонентом Android, у которого нет пользовательского интерфейса и который работает в фоновом режиме.

Работает ли служба на главной теме? Нет

Тогда как это работает в фоновом режиме? .......

Я был пуст. Может кто-нибудь объяснить, как служба работает в фоновом режиме, если она работает в потоке ui.

Спасибо.

2 ответа

Служба работает в потоке пользовательского интерфейса. Чтобы запустить служебную задачу "в фоновом режиме", вам необходимо, чтобы в этой службе появился новый поток. "В фоновом режиме" в контексте Сервиса можно рассматривать как "может работать без UI", но это не значит, что он работает в своем потоке.


Цитата из официальный источник:

Помните, что если вы используете услугу, она по-прежнему работает в вашем основного потока приложений по умолчанию, поэтому вы должны создать новый поток внутри службы, если он выполняет интенсивные или блокирующие операции операции.

"поток пользовательского интерфейса" - это в основном основной поток, который использует ваше приложение и запускающее его пользовательский интерфейс. Он не ограничивается только запуском интерфейса.

licensed under cc by-sa 3.0 with attribution.