Service的生命周期 :
Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy我们有两种方式启动一个Service,他们对Service
生命周期的影响是不一样的。
1 通过startService
Service会经历 onCreate -> onStart stopService的时候直接onDestroy
如果是调用者(TestServiceHolder)自己直接退出而没有调用stopService的话,Service会一直在后台运行。
下次TestServiceHolder再起来可以stopService。
2 通过bindService
Service只会运行onCreate, 这个时候 TestServiceHolder 和TestService绑定在一起
TestServiceHolder 退出了,Srevice就会调用onUnbind->onDestroyed所谓绑定在一起就共存亡了。
Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy我们有两种方式启动一个Service,他们对Service
生命周期的影响是不一样的。
1 通过startService
Service会经历 onCreate -> onStart stopService的时候直接onDestroy
如果是调用者(TestServiceHolder)自己直接退出而没有调用stopService的话,Service会一直在后台运行。
下次TestServiceHolder再起来可以stopService。
2 通过bindService
Service只会运行onCreate, 这个时候 TestServiceHolder 和TestService绑定在一起
TestServiceHolder 退出了,Srevice就会调用onUnbind->onDestroyed所谓绑定在一起就共存亡了。

本文解析了Android Service的两种启动方式:startService与bindService,并详细介绍了它们对Service生命周期的影响。通过startService启动时,Service会经历onCreate->onStart,停止时直接调用onDestroy;而通过bindService启动时,Service仅运行onCreate,且与调用者绑定,当调用者退出时Service会调用onUnbind->onDestroy。
2501

被折叠的 条评论
为什么被折叠?



