回覆列表
  • 1 # 不知回事

    onBind和onUnbind。通常有兩種方式啟動一個Service,他們對Service生命週期的影響是不一樣的。

    1 透過startServiceService會經歷 onCreate 到onStart,然後處於執行狀態,stopService的時候呼叫onDestroy方法。如果是呼叫者自己直接退出而沒有呼叫stopService的話,Service會一直在後臺執行。

    2 透過bindServiceService會執行onCreate,然後是呼叫onBind, 這個時候呼叫者和Service繫結在一起。呼叫者退出了,Srevice就會呼叫onUnbind->onDestroyed方法。所謂繫結在一起就共存亡了。呼叫者也可以透過呼叫unbindService方法來停止服務,這時候Srevice就會呼叫onUnbind->onDestroyed方法。一個原則是Service的onCreate的方法只會被呼叫一次,就是你無論多少次的startService又bindService,Service只被建立一次。如果先是bind了,那麼start的時候就直接執行Service的onStart方法,如果先是start,那麼bind的時候就直接執行onBind方法。

  • 中秋節和大豐收的關聯?
  • 蘇聯的t54、55坦克究竟有多少改進型號?