我将服务绑定到应用程序上下文,该服务在单独的进程中运行(比如说#service_process)。我通过抛出未捕获的异常和应用程序的主进程(#main_proccess)停止来模拟应用程序崩溃,显然是杀死和 GCing 组件,包括主应用程序上下文。服务也未绑定(断开连接)和销毁(我调用了 Service#onDestroy())。
但是,$ adb shell ps | grep com.my_app
即使在#main 进程死了之后,#service_process 仍然活着。
谁能解释这种行为的原因?如何避免“悬空”#service_process ?