服务如何运作,即使其组件被破坏?

时间:2015-10-14 01:52:58

标签: android multithreading android-service

来自AndoridDeveloper documentation

  

服务可以无限期地在后台运行,即使启动它的组件被销毁。

  

警告:服务在其托管进程的主线程中运行 - 该服务不会创建自己的线程,也不会在单独的进程中运行(除非您另行指定)。

即使服务被破坏,服务如何继续工作?

在这个问题中我假设:

组件意味着应用

app在销毁应用时销毁

if(任何这些假设是错误的){ 为什么错了? }其他{请回答问题}

1 个答案:

答案 0 :(得分:0)

它没有说明被破坏的应用程序,你的表征是不正确的。

它说:

  

服务已经开始"当一个应用程序组件(如一个   activity)通过调用startService()来启动它。一旦启动,服务   可以无限期地在后台运行,即使是那个组件   开始它被摧毁。

这仅仅意味着即使在您的应用中通过调用startService()启动它的组件(例如活动或其他服务)之类的组件被销毁,服务也可以继续运行。

如果您的应用程序的流程终止,那么流程中运行的所有组件(包括所有服务)都将结束(假设它们都没有声明在自己的流程中运行):

  

Android可能决定在内存时关闭某个进程   很低,并且需要更直接的其他流程   为用户服务。在流程中运行的应用程序组件   因此被杀害了。再次启动进程   那些组件,当他们再次为他们工作时。