onStart()後調用bindService該service則調用onBind(),調用onBind以後調stopService將無法釋放該service必須再調unbindService才觸發onUnbind()-->onDestroy()
啓動方式
1. 使用startService啓動服務的生命週期方法:
使用這種方法啓動一個Service,在Service啓動後該Service和啓動該Service的Activity就沒有關係了。但是這種發放啓動的Service不能和Activity進行交互。
通常情況下使用startService調用的Service生命週期方法爲:onCreate()->onStartCommand()。
其中多次調用startService只調用一次onCreate(), 但可以多次調用onStartCommand().
當服務需要退出時,調用stopService,就會調用Service的onDestroy()方法。
2.使用bindService啓動服務的生命週期方法:
使用這種方法啓動的Service是和調用者Activtiy同生命的,當Activtiy退出時,服務也同時銷燬了。這種方法啓動的Service能夠和Activity進行交互。
調用bindService啓動服務,Service生命週期方法爲:onCreate()->onBind()
多次調用bindService並不會多次調用onBind(), 即onCreate()和onBind()都是隻被調用一次。
當Activity退出是,該Service銷燬,調用:onUnbind()->onDestroy();
生命週期