лекция 16.ppt
- Количество слайдов: 14
Сервисы в Android Санкт-Петербург, 2016
Service Сервис (служба) - один из четырех компонентов Android приложениях, предназначенных для выполнения операции в фоновом режиме. Activity Content. Provider Broadcast. Receiver Service
Создание сервиса:
Создание сервиса:
Реализация сервиса: 1. 2. * *объявление службы в Android. Manifest. xml
Методы жизненного цикла: • on. Create() • on. Start. Command() • on. Destroy()
Жизненный цикл служб
Условно есть два вида взаимодействия с сервисом: ● start. Service() ● bind. Service() Service bind. Service() IBinder Activity 1 Service start. Service() IBinder Activity 2 Activity 3
Внимание! ● Служба работает в основном потоке ведущего процесса — служба не создает своего потока и не выполняется в отдельном процессе (если вы не указали иное). Это означает, что если ваша служба собирается выполнять любую работу с высокой нагрузкой ЦП или блокирующие операции (например, воспроизведение MP 3 или сетевые операции), вы должны создать в службе новый поток для выполнения этой работы. Используя отдельный поток, вы снижаете риск возникновения ошибок «Приложение не отвечает» , и основной поток приложения может отрабатывать взаимодействие пользователя с вашими операциями
Intent. Service start. Service() Это подкласс обычного Service. on. Create() -Асинхронность -Остановка сервиса после выполнения. on. Handle. Intent() вызывается в отдельном потоке завершится автоматически on. Destroy()
Запуск службы • Пример для явного вызова службы с именем Hello. Service: • Пример для неявного вызова службы с именем My. Service:
Уничтожение процессов процессы уничтожаются в особом приоритете. start. Foreground (int id, Notification notification). stop. Foreground (boolean remove. Notification). Activity уничтожаются первыми Service Foreground Service верояность уничтожения стремится к 0
Broadcast. Receiver Широковещательные сообщения Приёмник широковещательных сообщений — это компонент для получения внешних событий и реакции на них. -Broadcast. Receiver базовый класс для всех приемников сообщений. -Инициализировать передачи могут другие приложения или службы Broadcast. Receiver 1 sender send. Broadcast() OS Broadcast. Receiver 2 Broadcast. Receiver N
Что важно понять ●сервис - не отдельный процесс. ●сервис выполняется в главном потоке приложения. ●сервис помогает сообщить системе, что приложение желает совершать операции в фоновом режиме.
лекция 16.ppt