Android Service的生命周期
Service 有三种使用方式
- 开启式服务:使用 startService() 启动服务,只是在后台进行一些运算服务,不绑定进行交互
- 绑定式服务:使用 bindService() 绑定服务
当使用绑定式服务时,调用 bindService() 来获取一个服务的持久连接,这时会回调 onBind() 方法,调用方可以获取到 onBind() 方法内返回的 IBinder 对象的实例,与服务自由通信。这时服务会一直处于运行状态,直到调用 onUnbind() 方法,或者调用方生命周期结束,这时服务会停止,并且调用 onDestroy() 方法。
- 同时使用开启式服务和绑定式服务
如果在使用服务时,既调用了 startService(),又调用了 bindService() ,这是想要销毁服务,就只有同时调用 stopService() 和 onUnbind() (或者调用方生命周期结束)才能够销毁服务。
下面是生命周期流程图