有两种启动方式
- startService
- bindService
startService: onCreate()->onStartCommand()->onDestory() 如果服务已经开启,不会重复的执行onCreate,而是会调用onStartCommand()。一旦服务开启跟调用者就没有任何关系了。
开启者退出了,开启者挂了,服务还在后台长期的运行。
开启者不能调用服务里面的方法。
bindService: onCreate()->onBind()->onUnbind()->onDestory()
bind的方式开启服务,绑定服务,调用者挂了,服务也会跟着挂掉。
绑定者可以调用服务里面的方法。
服务与服务,服务与Activity的通信方式:
- 通过Binder对象。
- 通过broadcast(广播)。