直播搭建中的Android service服務不能自己運作,需要通過調用Context.start Service或者Context.bindService方法啟動服務。兩種方法都可以啟動Service,但是它們的适用場合有所不同。使用startService方法啟用服務,調用者與服務之間沒有關聯,即使調用者退出,服務仍然運作。使用bindService 方法啟用服務,調用者與服務綁定在一起,調用者一旦退出,服務也就終止。
Context.startService啟動
在服務未被建立之前,系統會先調用服務的onCreate方法,接着調用onStart 方法,如果調用startService方法前服務已被建立,多次調用startService方法并不會導緻多次建立服務,但會導緻多次調用onStart方法。采用startService方法啟動的服務,隻能調用Context.stopService方法結束服務,服務結束時會調用onDestroy方法。
Context.bindService方法啟動
在服務未被建立時,系統會先調用服務的onCreate方法,接着調用onBind方法。這個時候調用者和服務綁定在一起,調用者退出,系統就會先調用服務的onUnbind方法,接着調用onDestory方法并不會導緻多次建立服務及綁定和onBind方法并不會被多次調用。若果調用者希望與正在綁定的伺服器解綁,可以通過調用unbindService的方法,調用該方法也會導緻系統調用服務的onUnbind方法。