У меня есть служба, связанная с контекстом приложения, эта служба запускается в отдельном процессе (скажем, #service_process). Я имитирую крушение приложения, бросая неперехваченное исключение, и основной процесс приложения (#main_proccess) останавливается, явно убивая и объединяя компоненты, включая основной контекст приложения. Служба также несвязана (отключена) и уничтожена (я вызываю вызов службы # onDestroy()).Что происходит с удаленным хостингом службы после службы?
Однако #service_process остается в живых, согласно $ adb shell ps | grep com.my_app
даже после того, как # основной процесс мертв.
Может ли кто-нибудь объяснить причины такого поведения? Как можно избежать «зависания» #service_process?
Спасибо, но, как я описал, я связываюсь с сервисом и не запускаю его, поэтому у меня нет '3. Сервисный процесс'. Может быть, у меня есть то, о чем говорится в «5». empty process' – kiruwka
Я так не думаю, потому что неважно, свяжете ли вы его или вызовите startService() (в обоих случаях начнется процесс, но в случае связывания он будет привязан к настройке). На самом деле это имеет значение только для вызова onDestroy для вашего сервиса, но не для жизненного цикла процесса в соответствии с моим пониманием, и я не могу найти никакой информации о привязке/процессе жизни. – sandrstar