1)启动模式的Service
2)绑定模式的Service
3)混合模式的Service
===============================
今天对于1)启动模式的Service的生命周期中各个方法做一个简单的概述:
1)onCreate (service创建时执行)在一个service中只会执行一次
2)onStartCommand(每次启动都会执行):可以执行N次,在service中被暂停回来,就会再次执行
3)onDestory(service销毁时会执行):只会执行一次
note:在onStartCommand(Intent intent, int flags, int startId)
有几个参数需要注意
1)intent:用来传递信息,intent.getXXXXExtra(" aciton")(类似于Map)-->为key
2)startId:每次启动或startId是不一样的,用来区别service
3)对于onStartCommand()是需要返回值的
1)START_REDELIVER_INTENT:被非正常kill以后,还会自启,同时会重新传递intent
2)START_STICKY_COMPATIBILITY:service被非正常kill以后,不保证service一定能够启动
3) START_STICKY:service被非正常kill,它还会自动启动,但是不会重新传递intent
4)START_NOT_STICKY:service被非正常kill,它不会自动启动
大体上有这几种,但是一般在app的开发中如果一个service是执行一个耗时操作,同时被非正常kill
就可以利用START_REDELIVER_INTENT做为返回值,这样就可以调高app的健壮性。