startService和bindService的区别
Service生命周期
![](https://img2022.cnblogs.com/blog/908514/202208/908514-20220815092015561-2104096371.png)
startService 和bindService 区别
startService: onCreate -> onStartCommand -> onDestory ,在多次调用startService的时候,onCreate不重复执行,但是onStartCommand会执行。startService调用了这后,会一直存在,直到其调用了stopService。
bindService : onCreate -> onBind -> onUnbind -> onDestory,多次调用bindService,onCreate及onBind都只执行一次。它生命周期跟随其调用者,调用者释放的时候,必须对该Service解绑,当所有绑定全部取消后,系统即会销毁该服务。 bindService 的方式通过onServiceConnected方法,获取到Service对象,通过该对象可以直接操作到Service内部的方法,从而实现的Service 与调用者之间的交互。
![](https://img2022.cnblogs.com/blog/908514/202208/908514-20220812101031611-848638835.png)
参考链接:
https://www.jianshu.com/p/73f10b6730c6