Есть ли любое принципиальное различие в привязке сервиса к android.app.Activity
по сравнению с привязкой его к android.app.Application
. Я хочу связать сервис с Application
потому что я хочу сохранить некоторое глобальное состояние/данные в Приложении вместо того, чтобы копировать его во всех моих операциях.
Спасибо.
Нет. Нет принципиальной разницы.
Тем не менее, подкласс android.app.Application - это очень хорошее место для хранения глобальных/состоятельных данных. Есть только один экземпляр, и все, что происходит от Context, имеет к нему доступ.
Я также уверен, что привязка сервиса к приложению приведет к странным временам жизни, если вы не будете осторожны. Я имею в виду, что даже если ваше приложение находится вне поля зрения и не имеет никаких активных действий, ваше приложение все еще может существовать, потому что ваш сервис все еще существует. Ваша служба все еще существует, потому что ваше приложение все еще существует. Вам придется вручную выключить службу на основании какого-то события, отличного от onDestroy.