Главная » Разработка для Android » Знакомство с Сервисами

0

В отличие  от Активностей, которые  предоставляют пользователю на- сыщенный графический интерфейс,  Сервисы работают в фоновом режиме, обновляя Источники данных, активизируя Намерения и показывая уведомле- ния. Они идеально подходят для проведения  постоянных или регулярных операций,  а также для обработки  событий  даже тогда, когда Активности вашего приложения невидимы, работают в пассивном режиме или закрыты.

Сервисы запускаются, останавливаются и контролируются из различных компонентов приложения, включая другие Сервисы, Активности и Приемники

широковещательных намерений. Если ваше приложение выполняет задачи, которые не зависят  от прямого  взаимодействия с пользователем, Сервисы могут стать хорошим выбором.

Запущенные Сервисы всегда имеют больший  приоритет,  чем бездей- ствующие или невидимые Активности, поэтому менее вероятно, что их работа завершится преждевременно при распределении ресурсов. Един- ственная причина, почему Android может досрочно остановить Сервис, — выделение дополнительных ресурсов для компонентов, работающих на переднем плане (как правило, для Активностей). Если такое случится, ваш Сервис автоматически перезапустится, когда будет достаточно доступных ресурсов.

Когда Сервис напрямую  взаимодействует с пользователем (например, проигрывая музыку), может понадобиться повысить его приоритет до уров- ня Активностей, работающих на переднем плане. Это гарантия того, что Сервис завершится только в крайнем случае, но при этом снижается его доступность во время выполнения, мешая управлять ресурсами, что может испортить общее впечатление от приложения.

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

Другие примеры можно найти в стандартном комплекте: Android предо- ставляет  несколько  Сервисов, включая  LocationManager, MediaController и NotificationManager.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии