我有服務綁定到應用上下文,這個服務運行在一個單獨的進程(可以說#service_process)。 我通過拋出未捕獲的異常和應用程序的主進程(#main_proccess)停止模擬應用程序崩潰,顯然會終止並GCing組件,包括主應用程序上下文。 服務也解綁(斷開)並銷燬(我調用了Service#onDestroy())。服務被銷燬後,遠程進程託管服務會發生什麼?
但是,即使在#main進程已經死亡後,根據$ adb shell ps | grep com.my_app
,#service_process仍然保持活動狀態。
任何人都可以解釋這種行爲的原因嗎? 怎麼可能避免'晃來晃去'#service_process?
謝謝,但正如我所描述的,我綁定到服務,不啓動它,所以我沒有'3。服務流程'。可能是我有'5所指的。空過程' – kiruwka
我不這麼認爲,因爲如果你綁定它或者調用startService()(這兩種方式的過程都會啓動,但是在綁定的情況下它會綁定setuped)並不重要。它實際上只是爲您的服務調用onDestroy,而不是根據我的理解爲流程生命週期,我無法找到關於綁定/流程生命週期關係的任何信息。 – sandrstar