У меня есть Служба, которая находится на переднем плане.Он локально связан с одним (или несколькими) действием, поэтому действие и служба выполняются в одном и том же процессе.Может быть некоторое время, в течение которого активность не отображается (типичный сценарий использования музыкального проигрывателя).
«Типичный сценарий использования музыкального проигрывателя» не будет использовать bindService()
IMHO.Служба переднего плана не будет использовать bindService()
IMHO.Как минимум, от дополнительно от до bindService()
для активности-> связи с сервисом вам потребуется startService()
, так что после того, как вы unbindService()
(например, пользователь нажмет BACK), сервис сможет продолжить работу.
Если служба и действие находятся в одном и том же процессе, операционная система не может повторно использовать память для операции, если только служба тоже не завершена?
память для действия никогда не «перераспределяется операционной системой», кроме как путем завершения всего процесса.К сожалению, это не совсем ясно из документации .
Если пользователь нажал BACK, чтобы выйти из операции, или вы в противном случае вызвали finish()
для действия, действие должно быть мусором.собранный, предполагая, что ничто не заставляет его зависать (например, на который ссылается статический элемент данных).
, если я создам два отдельных процесса
Абсолютно нет.