1. 生命周期常用方法
4个手动调用的方法
- startService():启动服务
- bindService():绑定服务
- unbindService():解绑服务
- stopService():关闭服务
5个内部自动调用的方法
- onCreat():创建服务
- onStartCommand():开始服务
- onDestroy():销毁服务
- onBind():绑定服务
- onUnbind():解绑服务
2. 生命周期方法具体介绍
2.1 startService()
- 作用:启动Service服务
- 手动调用startService()后,自动调用内部方法:onCreate()、onStartCommand()
-
调用逻辑如下:
startService()调用逻辑
2.2 stopService()
- 作用:关闭Service服务
- 手动调用stopService()后,自动调用内部方法:onDestory()
-
调用逻辑如下:
stopService()调用逻辑
2.3 bindService()
- 作用:绑定Service服务
- 手动调用bindService()后,自动调用内部方法:onCreate()、onBind()
-
调用逻辑如下:
bindService()调用逻辑
2.4 unbindService()
- 作用:解绑Service服务
- 手动调用unbindService()后,自动调用内部方法:onCreate()、onUnBind()、onDestory()
-
调用逻辑如下:
unbindService()调用逻辑
3. 常见的生命周期使用
3.1 只使用startService启动服务的生命周期
![](https://img.haomeiwen.com/i8678615/686905acdf798881.png)
3.2 只使用BindService绑定服务的生命周期
![](https://img.haomeiwen.com/i8678615/331086cbc635e5d9.png)
3.3 同时使用startService()启动服务、BindService()绑定服务的生命周期
![](https://img.haomeiwen.com/i8678615/08441a14f658af59.png)
3.4 特别注意
- startService()和stopService()只能开启和关闭Service,无法操作Service;
- bindService()和unbindService()可以操作Service
- startService开启的Service,调用者退出后Service仍然存在;
- indService开启的Service,调用者退出后,Service随着调用者销毁。
网友评论