Android 服务被破坏后,远程进程托管服务会发生什么情况?

Android 服务被破坏后,远程进程托管服务会发生什么情况?,android,android-service,android-lifecycle,android-memory,Android,Android Service,Android Lifecycle,Android Memory,我将服务绑定到应用程序上下文,该服务在单独的进程中运行,比如说服务进程。 我通过抛出未捕获的异常和应用程序的主进程main_进程停止来模拟应用程序崩溃,显然会杀死和GCing组件,包括主应用程序上下文。 服务也将取消绑定断开连接并销毁EDI已调用ServiceonDestroy 然而,根据$adb shell ps | grep com.my_应用程序的说法,即使主进程已死亡,服务进程仍保持活动状态 有人能解释这种行为的原因吗? 如何避免“挂起”服务流程?实际上,服务流程与前台流程没有太大区别。

我将服务绑定到应用程序上下文,该服务在单独的进程中运行,比如说服务进程。 我通过抛出未捕获的异常和应用程序的主进程main_进程停止来模拟应用程序崩溃,显然会杀死和GCing组件,包括主应用程序上下文。 服务也将取消绑定断开连接并销毁EDI已调用ServiceonDestroy

然而,根据$adb shell ps | grep com.my_应用程序的说法,即使主进程已死亡,服务进程仍保持活动状态

有人能解释这种行为的原因吗?
如何避免“挂起”服务流程?

实际上,服务流程与前台流程没有太大区别。如上所述

Android的一个不寻常的基本特性是应用程序 进程的生命周期不是由应用程序直接控制的 它本身相反,它是由系统通过组合来确定的 在系统知道正在运行的应用程序部分中,如何 这些东西对用户很重要,总内存是多少 在系统中可用

还有这个:

服务流程。。。因此,系统将始终保持这样的过程 正在运行,除非没有足够的内存来保留所有前台和 可见过程


谢谢,但正如我所描述的,我绑定到服务并且不启动它,所以我没有3。服务流程。也许我有第五条所指的东西。空进程我不这么认为,因为不管是绑定它还是调用startService,进程都会启动,但在绑定的情况下,它会设置绑定。实际上,它只对服务的onDestroy调用很重要,但根据我的理解,对进程生命周期并不重要,而且我无法找到关于绑定/进程生命周期关系的任何信息。