Serivce生命週期-先startService,然後bindService
阿新 • • 發佈:2019-01-09
複習
startService啟動Service生命週期:
onCreate( )-> onStartCommand( )-> onDestroy( )
bindService 啟動Service生命週期:
onCreate( ) -> onBind( ) -> onUnbind( ) -> onDestroy( )
說明:
對於一個服務來說,無論使用哪種方式啟動,oncreate方法指執行一次, onStartCommand和onBind、onUnbind方法則執行多次,視服務啟動次數而定
先startService,然後bindService 生命週期:
- oncreate方法指執行一次 ———- 執行:oncreate( )
- 由於先呼叫的是startService —— 執行:onStartCommand( )
- 這時服務已經在執行,呼叫bindService —-執行:onBind()
- 當呼叫bindService的Activity銷燬或者執行unBindService時——執行:onUnbind( )
- 若在呼叫startService,然後呼叫bindService 則重複執行步驟2-4,若只調用bindService則重複執行步驟3-4
- 當呼叫stopService時—-執行onDestroy()