Методы жизненного цикла started сервиса:
onCreate() – вызывается, когда сервис создается системой. Для создания started сервиса используется метод startService().
onStartCommand() – вызывается, когда сервис переходит в активное состояние. Код, который выполняет сервис, должен быть написан в этом методе.
onDestroy() – вызывается, когда сервис уничтожается системой. Это происходит после вызова stopSelf() или stopService(). Также система может убить процесс с фоновым сервисом когда не хватает ресурсов или, начиная с Android 8.0, для ограничения фоновых работы.
Методы жизненного цикла bound сервиса:
onCreate() – вызывается когда первый клиент присоединяется к сервису вызовом bindService() с флагом BIND_AUTO_CREATE.onBind() – вызывается системой, когда первый клиент присоединяется к сервису вызовом метода
bindService(). После вызова этого метода bound сервис переходит в активное состояние.onUnbind() – вызывается системой, когда все клиенты отсоединились от сервиса вызовом метода unbindService().
onDestroy() – вызывается после onUnbind(), перед тем как система уничтожит сервис.Сервис может быть одновременно started и bound. В этом случае вызываются все методы жизненного цикла обоих типов сервисов.
onDestroy() у такого сервиса вызывается когда все клиенты отсоединены и сервис остановлен вызовом метода stopSelf() или stopService().Если же все клиенты отсоединяются, но сервис не остановлен, то вызывается метод
onUnbind() и сервис продолжает работать.onUnbind() возвращает boolean. Если вернуть true, то при присоединении первого клиента после onUnbind() вызывается метод onRebind(), иначе вызывается onBind().Документация жизненного цикла сервиса.
Документация жизненного цикла bound сервиса.
