关于Android中Service的onDestory()调用时机

     众所周知,Android中启动Service有两种方法,分别是startService()和bindSerView(),下面我们就根据Service的两种启动情况分类的说明onDestory()的调用时机。

    1.同时调用了startService()和bindService()方法。此时需要调用unbindService()和stopService()才能触发Service的onDestory()方法。

    2.只调用了bindService(),没有调用startSerview()方法。此时只需要调用unbindService()即可触发Service的onDestory()方法。

    3.只调用了startService(),没有调用bindService()方法。此时只需要调用stopService()即可触发Service的onDestory()方法。需要注意的是,在没有调用bindService()的情况下,调用unbindService()方法会报错。

    纵观以上三个分类,可以总结为:开启Service是调用了什么方法,销毁时调用相应的反方法即可。

    需要特别注意,无论有多少个地方调用了startService()方法启动Service,只需要在某处有一个地方调用了stopService(),Service的onDestory()方法就会触发。


你可能感兴趣的:(关于Android中Service的onDestory()调用时机)