Android 服务是否独立于活动生命周期?

Android 服务是否独立于活动生命周期?,android,android-activity,android-service,Android,Android Activity,Android Service,服务是否独立于活动生命周期?即使在活动被终止后,它还会继续运行吗?如果应用程序未终止,则在活动被终止时,服务将继续工作。您可以从活动启动服务,也可以将活动绑定到服务,但它们是独立的 Android系统只有在内存不足时才会强制停止服务,并且必须为以用户为中心的活动恢复系统资源。如果服务绑定到具有用户焦点的活动,那么它被终止的可能性较小,如果服务被声明为在前台运行(稍后讨论),那么它几乎永远不会被终止 服务是否独立于活动生命周期 对 另一个应用程序组件可以启动服务,即使用户切换到另一个应用程序,它也

服务
是否独立于
活动
生命周期?即使在活动被终止后,它还会继续运行吗?

如果应用程序未终止,则在活动被终止时,服务将继续工作。您可以从活动启动服务,也可以将活动绑定到服务,但它们是独立的

Android系统只有在内存不足时才会强制停止服务,并且必须为以用户为中心的活动恢复系统资源。如果服务绑定到具有用户焦点的活动,那么它被终止的可能性较小,如果服务被声明为在前台运行(稍后讨论),那么它几乎永远不会被终止

服务是否独立于活动生命周期

另一个应用程序组件可以启动服务,即使用户切换到另一个应用程序,它也将继续在后台运行。此外,组件可以绑定到服务以与其交互,甚至可以执行进程间通信(IPC)

酱汁:

即使活动被终止,服务是否仍将继续运行

视情况而定

如果它是绑定服务,而您在活动的
onPause
onStop
onstroy
中解除绑定,并且该服务未从其他位置绑定或由
上下文启动。startService
将终止

如果任务被终止(例如,在任务管理器中刷走),如果在其清单条目中指定了
android:stopWithTask=“true”
,则服务将被终止。如果设置了android:stopWithTask=“false”,则服务将通过
onTaskRemoved(Intent)
接收回调,其中
Intent
是用于启动已删除任务的根活动的意图

如果您的服务在与活动不同的进程中运行,并且活动崩溃,则服务将继续运行(如果未绑定)


除此之外,该服务将一直持续到完成为止。

Downvote:这在Android开发者指南中描述得非常好,这是谷歌首次推出的。