Основные методы жизненного цикла сервиса

Самыми важными методами жизненного цикла сервиса являются:

1. onStartCommand()

Данный метод вызывается после того, как другой компонент (например активити) вызвал метод startService(). Когда данный метод был вызван, сервис запускается и живет до тех пор, пока в нем не будет вызван метод stopSelf(), либо же в другом компоненте не будет вызван метод stopService(). Если же сервис будет bound, то данный метод можно не переопределять

2. onBind()

Вызывается после того, как другой компонент вызвал метод bindService(). Если данный метод был вызван, значит данный сервис является bound. Этот метод должен возвращать интерфейс для взаимодействия с данным сервисом (так как bound сервисы должны предоставлять клиент-серверный интерфейс для взаимодействия с ними). Данный интерфейс должен представлять из себя объект класса-наследника IBinder. Этот метод должен быть реализован в любом случае, если же сервис не предполагает его использование через bindService(), то необходимо просто вернуть null

3. onCreate()

Вызывается один раз при создании сервиса для его настройки. Он вызывается до того как буду вызваны onStartCommand() и onBind(). Если сервис уже запущен, то этот метод вызван не будет

4. onDestroy()

Вызывается, когда сервис уничтожается. В данном методе необходимо избавиться от всего ненужного использованного в сервисе, как например потоки, которые в нем были запущены или же всяческие listener’ы и observer’ы

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *