Service生命周期(一)

图1:

Service生命周期(一)
1、通过startService方式启动服务
a、生命周期如图1左
onCreate:首次创建服务时由系统调用
onStartCommand:每次客户端通过调用显式启动服务时,由系统调用 Context.startService(Intent),提供它提供的参数和表示启动请求的唯一整数标记。
onDestroy:由系统调用以通知服务它已不再使用并正在被删除。
b、当做多次使用startService启动服务时,onCreate方法只调用一次,onStartCommand方法则跟startService一样,多次调用,效果如图2所示。

图2:
Service生命周期(一)
2、通过bindService方式启动服务
a、生命周期如图1右
onCreate:首次创建服务时由系统调用
onBind:绑定服务,返回IBinder以供通信或者返回null
onUnBind:解绑服务
onDestroy:由系统调用以通知服务它已不再使用并正在被删除。
b、多次使用bindService,只调用一次onCreate和onBind