Виды сервисов и принципы работы
Service
Service это компонент, который полезен для выполнения длинных (или потенциально длительных) операций без какого-либо пользовательского интерфейса.
Service работает в основном потоке своего процесса; не создает свой собственный поток и не запускается в отдельном процессе, если вы это не указали.
Используя Service вы обязаны остановить его, когда его работа будет завершена, вызвав методы stopSelf()
или stopService()
.
Обратите внимание, что метод onStartCommand()
должен возвращать целое число. Это целое число описывает, как система должна продолжать выполнение службы в случае, когда система уничтожила ее (как описано выше, реализация по умолчанию для класса IntentService
обрабатывает эту ситуацию, хотя вы изменить ход реализации). Значение, возвращаемое методом onStartCommand()
, должно быть одной из следующих констант:
IntentService
IntentService работает в отдельном потоке и автоматически останавливается после завершения работы.
IntentService обычно используется для коротких задач, которые не обязательно должны быть привязаны к какому-либо пользовательскому интерфейсу.
Если служба привязана к операции, которая отображается на переднем плане, менее вероятно, что она будет уничтожена, и если служба объявлена для выполнения на переднем плане (как обсуждалось выше), она почти никогда не будет уничтожаться.