Android服务的生命周期

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dream_follower/article/details/82924189

启动服务

一旦在项目的任何位置调用了Context的startService()方法,相应的服务就会启动起来,并回调onStartCommand()方法,如果这个服务没有创建,就会先执行onCreate()方法,直到StopService()或者stopItself()被调用才会停止运行,注意:虽然每调用一次startService(),onStartCommand()就会执行一次,但是实际上每一个服务都只会存在一个实例。
另外还可以通过调用Context的bindService()来获取一个服务的持久连接,这时就会回调服务中的onBind()方法,同样如果服务没有创建,就会先执行onCreate()方法,接着就是onBind()方法得到执行,然后调用方就可以获得onBind()方法返回的IBinder对象,这样就可以自由的和服务进行通信了。

销毁服务

当调用了startService()方法后,又去调用stopService()方法,这时服务中的onDestory()就会执行,销毁服务,同样,当调用了bindService()方法后,又去调用unbindService()方法,onDestory()也会执行,这两种情况都比较简单,但是如果我们同时调用了startService()和bindService()两个方法来启动服务,这个时候如果想要销毁服务就必须同时调用stopService()和unbindService()。

猜你喜欢

转载自blog.csdn.net/dream_follower/article/details/82924189