服务销毁后,远程进程托管服务会发生什么?

时间:2013-07-02 09:49:07

标签: android android-service android-lifecycle android-memory

我有服务绑定到app上下文,这个服务在一个单独的进程中运行(比如#service_process)。 我通过抛出未捕获的异常和应用程序的主进程(#main_proccess)停止来模拟应用程序崩溃,显然是kill和GCing组件,包括主应用程序上下文。 服务也是未绑定(断开连接)和销毁(我调用了Service#onDestroy())。

然而,即使#main进程已经死了,#{1}}仍然存在#service_process。

任何人都可以解释这种行为的原因吗? 怎么可能避免'晃来晃去'#service_process?

1 个答案:

答案 0 :(得分:0)

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

  

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

这一个:

  

服务流程......所以系统将始终保持这样的流程   除非没有足够的内存来保留所有前景和   可见的过程。