与生命周期有关的方法
onCreate : 创建服务onStart : 开始服务,Android2.0以下版本使用
onStartCommand : 开始服务,Android2.0及以上版本使用。该函数返回值为整型,一般取值START_STICKY,具体说明如下:
1、START_STICKY:粘性的服务。如果服务进程被杀掉,保留服务的状态为开始状态,但不保留传送的Intent对象。随后系统会尝试重新创建服务,由于服务状态为开始状态,所以创建服务后一定会调用onStartCommand方法。如果在此期间没有任何启动命令送给服务,那么参数Intent将为空值。
2、START_NOT_STICKY:非粘性的服务。使用这个返回值时,如果服务被异常杀掉,系统不会自动重启该服务。
3、START_REDELIVER_INTENT:重传Intent的服务。使用这个返回值时,如果服务被异常杀掉,系统会自动重启该服务,并传入Intent的原值。
4、START_STICKY_COMPATIBILITY:START_STICKY的兼容版本,但不保证服务被杀掉后一定能重启。
onDestroy : 销毁服务
onBind : 绑定服务
onRebind : 重新绑定。该方法只有当onUnbind返回true的时候才会被调用
onUnbind : 解除绑定。返回值true表示希望以后再绑定时能够调用onRebind方法,false表示再绑定时不调用onRebind方法
最简单的服务启动顺序:onCreate->onStartCommand
最简单的服务退出顺序:onDestroy
Service的生命周期流程
单独启停服务
启动服务,方法调用顺序为:onCreate->onStartCommand。日志如下:01-06 17:25:14.309: D/FirstService(1604): onCreate
01-06 17:25:14.309: D/FirstService(1604): onStartCommand
停止服务,方法调用顺序为:onDestroy。日志如下:
01-06 17:25:30.485: D/FirstService(1604): onDestroy
已启动的服务再次启动,方法调用顺序为:onStartCommand。日志如下:
01-06 17:25:47.097: D/FirstService(1604): onStartCommand
单独绑定服务
直接绑定服务,方法调用顺序为:onCreate->onBind。日志如下:01-07