服務的生命週期

服務生命週期具有以下回撥

  • 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 文件