服务的生命周期

服务生命周期具有以下回调

  • onCreate()

首次创建服务时执行,以便设置你可能需要的初始配置。仅当服务尚未运行时才执行此方法。

  • onStartCommand()

每次 startService() 由另一个组件(如 Activity 或 BroadcastReceiver)调用时执行。当你使用此方法时,服务将一直运行,直到你调用 stopSelf()stopService()。请注意,无论你调用 onStartCommand() 多少次,都必须调用 stopSelf()stopService() 方法一次才能停止服务。

  • onBind()

当组件调用 bindService() 并返回 IBInder 实例时执行,为服务提供通信通道。只要有绑定的客户端,对 bindService() 的调用将使服务保持运行。

  • onDestroy()

在服务不再使用时执行,并允许处理已分配的资源。

值得注意的是,在服务的生命周期中,可能会调用其他回调,例如 onConfigurationChanged()onLowMemory()

https://developer.android.com/guide/components/services.html

StackOverflow 文档