Android四大組件:Service生命週期最全面解析



前言


目錄


目錄

1. 生命週期常用方法

在Service的生命週期裡,常用的有:

  • 4個手動調用的方法
手動調用方法 作用
startService() 啟動服務
stopService() 關閉服務
bindService() 綁定服務
unbindService() 解綁服務
  • 5個內部自動調用的方法
內部自動調用的方法 作用
onCreat() 創建服務
onStartCommand() 開始服務
onDestroy() 銷燬服務
onBind() 綁定服務
onUnbind() 解綁服務

2. 生命週期方法具體介紹

主要介紹內部調用方法和外部調用方法的關係。

2.1 startService()

  • 作用:啟動Service服務
  • 手動調用startService()後,自動調用內部方法:onCreate()、onStartCommand()
  • 調用邏輯如下:

    調用邏輯

2.2 stopService()

  • 作用:關閉Service服務
  • 手動調用stopService()後,自動調用內部方法:onDestory()
  • 調用的邏輯:

調用邏輯

2.3 bindService()

  • 作用:綁定Service服務
  • 手動調用bindService()後,自動調用內部方法:onCreate()、onBind()
  • 調用的邏輯:

調用的邏輯

2.4 unbindService()

  • 作用:解綁Service服務
  • 手動調用unbindService()後,自動調用內部方法:onCreate()、onBind()、onDestory()
  • 調用的邏輯:

    調用的邏輯

3. 常見的生命週期使用

3.1 只使用startService啟動服務的生命週期


startService啟動服務的生命週期

3.2 只使用BindService綁定服務的生命週期


BindService綁定服務的生命週期

3.3 同時使用startService()啟動服務、BindService()綁定服務的生命週期


Paste_Image.png

3.4 特別注意

  • startService()和stopService()只能開啟和關閉Service,無法操作Service;

    bindService()和unbindService()可以操作Service

  • startService開啟的Service,調用者退出後Service仍然存在;

    BindService開啟的Service,調用者退出後,Service隨著調用者銷燬。


4. 總結


請點贊!因為你們的贊同/鼓勵是我寫作的最大動力!

相關文章閱讀
Android開發:最全面、最易懂的Android屏幕適配解決方案
Android開發:Handler異步通信機制全面解析(包含Looper、Message Queue)
Android開發:最全面、最易懂的Webview詳解
Android開發:JSON簡介及最全面解析方法!
Android開發:頂部Tab導航欄實現(TabLayout+ViewPager+Fragment)
Android開發:底部Tab菜單欄實現(FragmentTabHost+ViewPager)


歡迎關注Carson_Ho的簡書!

不定期分享關於安卓開發的乾貨,追求短、平、快,但卻不缺深度


    </div>

书籍推荐