1.开启服务 开启服务时会调用oncreat()方法,onStartCommand()方法。当再次开启服务时。只会调用onSartCommand()方法。当服务开启以后,于其开启组件没有任何关系。服务会一直运行下去直到stopMself()和其他组件主动关闭它,或者系统资源吃紧杀死服务所在的进程。当调用stopService时,服务会调用onDestroy方法。 2.绑定服务 调用bindService,调用onCreat()onBind()方法,当再次绑定时,不会再调用这两个方法,当解除绑定时候,调用unBind(),Ondestroy方法,此时调用组件和该服务,绑定在一起,如果调用组件在关闭前,没有调用解绑,会有异常抛出,当服务没有组件再绑定他时,会自己结束,调用unBind(),onDestroy()。当调用解绑方法时,如果unBind方法返回true,下次再绑定时候,会调用reBind()方法。 3.混合开启服务 混合开启服务以后,当解绑服务时,服务不会停止运行。 混合开启服务以后,当停止服务时,服务不会停止运行,此时已经调用停止服务方法时,再次调用解绑方法,服务会停止运行 服务不可重复解绑,只有服务在绑定情况下才能解绑