1. 程式人生 > >Serivce生命週期-先startService,然後bindService

Serivce生命週期-先startService,然後bindService

複習

startService啟動Service生命週期:

onCreate( )-> onStartCommand( )-> onDestroy( )

bindService 啟動Service生命週期:

onCreate( ) -> onBind( ) -> onUnbind( ) -> onDestroy( )

說明:

對於一個服務來說,無論使用哪種方式啟動,oncreate方法指執行一次, onStartCommand和onBind、onUnbind方法則執行多次,視服務啟動次數而定

先startService,然後bindService 生命週期:

  1. oncreate方法指執行一次 ———- 執行:oncreate( )
  2. 由於先呼叫的是startService —— 執行:onStartCommand( )
  3. 這時服務已經在執行,呼叫bindService —-執行:onBind()
  4. 當呼叫bindService的Activity銷燬或者執行unBindService時——執行:onUnbind( )
  5. 若在呼叫startService,然後呼叫bindService 則重複執行步驟2-4,若只調用bindService則重複執行步驟3-4
  6. 當呼叫stopService時—-執行onDestroy()