Service 的生命周期

来源:互联网 发布:邦纳cms企业建站系统 编辑:程序博客网 时间:2024/04/30 16:25

一般情况下使用startService和stopService来启动和关闭Service的生命周期为:onCreate=======>onStartCommand=======>onStart========>onDestory.

在Activity中使用bindService启动Service后退出Activity,生命周期为:onCreate=======>onBind========>onUnbind======>onDestory;

在binder模式下,如果在Activity中没有手动调用unBindService,系统也会在你退出这个Activity时调用:onUnbind和onDestory。


注意一以下情况:如果先用startService启动Service,然后又用bindService。当退出这个Activity时,系统只会自动调用onUnbind而不会调用onDestory,而且这个service没有随Activity的死亡而死亡,它仍在运行。

所以当你需要在Activity中获得Servic的IBinder,而又不希望Service随Activity的退出而死亡时,就可以先用startService然后再用bindService来获得IBinder