Я разрабатываю приложение, которое проверяет несколько условий во время входящего телефонного звонка. Основными частями приложения являются BroadcastReceiver, прослушивающий содержимое, связанное с состоянием телефона, и локальная служба, проверяющая условия.
В данный момент служба запускается каждый раз при обнаружении входящего вызова и останавливается при изменении состояния телефона. обратно в режим ожидания.
Теперь мне интересно, правильна ли эта процедура и целесообразно ли запускать и останавливать службу, связанную со статусом телефона. Или было бы лучше, чтобы служба работала независимо от состояния телефона и при необходимости связывала / отстегивала от него.
Есть ли какие-либо проблемы с производительностью, о которых мне следует подумать? Возможно, запускать / останавливать службу дороже, чем запускать ее и общаться с ней. Существуют ли передовые практики по внедрению сервисов?
Или лучше оставить служба запускается независимо от статуса телефона и привязывает / отключает привязку к нему / от него, когда необходимо.
Пожалуйста, не надо. Это просто займет оперативную память без уважительной причины. Именно такие вечные сервисы заставляют пользователей атаковать разработчиков с помощью убийц задач.
Существуют ли какие-либо передовые практики по внедрению сервисов?