Service作为Android的四大组件之一,与Activity一样,有着自己的生命周期
Service的生命周期
onCreate:创建服务
首次创建服务时,系统将调用此方法,该方法只调用一次
onStartCommand:开始服务
当另一个组件通过调用startService方法请求启动服务时,系统将调用此方法
onDestroy:销毁服务
当服务不再使用且将被销毁时,系统将调用此方法
onBind:绑定服务
当另一个组件通过调用bindService方法与服务绑定时,系统将调用此方法
onUnbind:解绑服务
当另一个组件通过调用unbindService方法与服务解绑时,系统将调用此方法
onRebind:
当旧的组件与服务解绑时,另一个新的组件与服务绑定,onUnbind方法返回true时,系统将调用此方法
系统自动调用的方法 | 手动调用的方法 |
onCreat() | startService() |
onStartCommand() | stopService() |
onDestroy() | bindService() |
onBind() | unbindService() |
onUnbind() |
生命周期的调用
- 启动服务
startService()的生命周期:onCreate()——>onStartCommand()——>onStartCommand()
- 绑定服务
bindService()的生命周期:onCreate()——>onBind()——>onUnbind()——>onDestroy()
- 先启动后绑定服务
startService()后bindService()的生命周期:
onCreate()——>onStartCommand()——>onBind()——>onUnbind()——>onDestroy()
- 先绑定后启动服务
先bindService()后startService()的生命周期:
onCreate()——>onBind()——>onStartCommand()——>onUnbind()——>onDestroy()
- 先解绑后绑定服务
unbindService()——>bindService()——>onUnbind(ture)——>onRebind()
总结: