日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 四大组件 -- service

發(fā)布時間:2023/12/20 Android 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 四大组件 -- service 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Android開發(fā)的四大組件分別是:
  • 活動(activity),用于表現(xiàn)功能;
  • 服務(service),后臺運行服務,不提供界面呈現(xiàn);
  • 廣播接受者(BroadcastReceive),勇于接收廣播;
  • 內(nèi)容提供者(Content Provider),支持多個應用中存儲和讀取數(shù)據(jù),相當于數(shù)據(jù)庫
一、本文講的是服務(service)

Android中的四大組件之一,是一個一種可以在后臺執(zhí)行長時間運行操作而沒有用戶界面的應用組件。服務可由其他應用組件啟動,而且即使用戶切換到其他應用,服務仍將在后臺繼續(xù)運行。它通常用作在后臺處理耗時的邏輯,與Activity一樣,它存在自己的生命周期,也需要在AndroidManifest.xml配置相關(guān)信息。

Service 有兩種啟動方式

1. startService (啟動狀態(tài))

特點 :一旦服務開啟跟調(diào)用者(開啟者)就沒有任何關(guān)系了。開啟者退出了,開啟者掛了,服務還在后臺長期的運行,只有通過調(diào)用停止服務的方法才能停止服務,或者是整個程序被kill掉,那么服務也會隨之kill。開啟者不能調(diào)用服務里面的方法

2. bindService(綁定狀態(tài))

特點:bind的方式開啟服務,綁定服務,調(diào)用者掛了,服務也會跟著掛掉。綁定者可以調(diào)用服務里面的方法。(說白了就和小程序一樣,打開的時候使用,用完了就關(guān)閉拍屁股走人,一次性滴)注意:綁定服務不會調(diào)用onstart()或者onstartcommand()方法

生命周期方法說明:

  • onCreate() :
    首次創(chuàng)建服務時,系統(tǒng)將調(diào)用此方法。如果服務已在運行,則不會調(diào)用此方法,該方法只調(diào)用一次。
  • onStartCommand() :
    當另一個組件通過調(diào)用startService()請求啟動服務時,系統(tǒng)將調(diào)用此方法。
  • onDestroy() :
    當服務不再使用且將被銷毀時,系統(tǒng)將調(diào)用此方法。
  • onBind() :
    當另一個組件通過調(diào)用bindService()與服務綁定時,系統(tǒng)將調(diào)用此方法。
  • onUnbind() :
    當另一個組件通過調(diào)用unbindService()與服務解綁時,系統(tǒng)將調(diào)用此方法。
  • onRebind() :
    當舊的組件與服務解綁后,另一個新的組件與服務綁定,onUnbind()返回true時,系統(tǒng)將調(diào)用此方法。

3、生命周期調(diào)用

1. 啟動Service服務

  • 單次:startService() —> onCreate() —> onStartCommand()
  • 多次:startService() —> onCreate() —> onStartCommand() —> onStartCommand()

2. 停止Service服務

  • stopService() —> onDestroy()

3. 綁定Service服務

  • bindService() —> onCreate() —> onBind()

4. 解綁Service服務

  • unbindService() —> onUnbind() —> onDestroy()

5. 啟動綁定Service服務

  • startService() —> onCreate() —> onStartCommand() —> bindService() —> onBind()

6. 解綁停止Service服務

  • unbindService() —> onUnbind() —> stopService() —> onDestroy()

7. 解綁綁定Service服務

  • unbindService() —> onUnbind(ture) —> bindService() —> onRebind()

這里有篇參考文章

總結(jié)

以上是生活随笔為你收集整理的Android 四大组件 -- service的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。