欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android四大組件之Service詳解

 更新時間:2019年01月29日 08:53:11   作者:*是杯酒漸濃*  
今天小編就為大家分享一篇關(guān)于Android四大組件之Service詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

一、Service簡介

Service是Android程序中四大基礎(chǔ)組件之一,它和Activity一樣都是Context的子類,只不過它沒有UI界面,是在后臺運行的組件。

Service是Android中實現(xiàn)程序后臺運行的解決方案,它非常適用于去執(zhí)行那些不需要和用戶交互而且還要求長期運行的任務(wù)。Service默認(rèn)并不會運行在子線程中,它也不運行在一個獨立的進(jìn)程中,它同樣執(zhí)行在UI線程中,因此,不要在Service中執(zhí)行耗時的操作,除非你在Service中創(chuàng)建了子線程來完成耗時操作。

二、Service生命周期

1.startService / stopService

生命周期順序:onCreate->onStartCommand->onDestroy

OnCreate()

系統(tǒng)在service第一次創(chuàng)建時執(zhí)行此方法,來執(zhí)行只運行一次的初始化工作。如果service已經(jīng)運行,這個方法不會被調(diào)用。

onStartCommand()

每次客戶端調(diào)用startService()方法啟動該Service都會回調(diào)該方法(多次調(diào)用)。一旦這個方法執(zhí)行,service就啟動并且在后臺長期運行。通過調(diào)用stopSelf()或stopService()來停止服務(wù)。

OnDestory()

系統(tǒng)在service不再被使用并要銷毀時調(diào)用此方法(一次調(diào)用)。service應(yīng)在此方法中釋放資源,比如線程,已注冊的偵聽器,接收器等等.這是service收到的最后一個調(diào)用。

2.bindService / unbindService

生命周期順序:onCreate->onBind->onUnBind->onDestroy

同樣首先是OnCreate(),接著是

OnBind()

當(dāng)組件調(diào)用bindService()想要綁定到service時(比如想要執(zhí)行進(jìn)程間通訊)系統(tǒng)調(diào)用此方法(一次調(diào)用,一旦綁定后,下次再調(diào)用bindService()不會回調(diào)該方法)。在你的實現(xiàn)中,你必須提供一個返回一個IBinder來以使客戶端能夠使用它與service通訊,你必須總是實現(xiàn)這個方法,但是如果你不允許綁定,那么你應(yīng)返回null。

OnUnbind()

當(dāng)前組件調(diào)用unbindService(),想要解除與service的綁定時系統(tǒng)調(diào)用此方法(一次調(diào)用,一旦解除綁定后,下次再調(diào)用unbindService()會拋出異常)。

最后是OnDestory()

注意:通過bindService啟動的Service的生命周期依附于啟動它的Context。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • Android中自定義ImageView添加文字設(shè)置按下效果詳解

    Android中自定義ImageView添加文字設(shè)置按下效果詳解

    這篇文章主要給大家介紹了關(guān)于Android中自定義ImageView添加文字設(shè)置按下效果的相關(guān)資料,實現(xiàn)后的效果非常利用用戶的體驗,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)下吧。
    2017-08-08
  • Android實現(xiàn)獲取SERIAL信息的方法

    Android實現(xiàn)獲取SERIAL信息的方法

    這篇文章主要介紹了Android實現(xiàn)獲取SERIAL信息的方法,涉及Android操作SERIAL的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • Android中不支持動態(tài)申請權(quán)限的原因

    Android中不支持動態(tài)申請權(quán)限的原因

    這篇文章主要介紹了Android中不支持動態(tài)申請權(quán)限的原因,本文列舉了幾個不支持動態(tài)申請權(quán)限的原因,需要的朋友可以參考下
    2015-01-01
  • Android開源AndroidSideMenu實現(xiàn)抽屜和側(cè)滑菜單

    Android開源AndroidSideMenu實現(xiàn)抽屜和側(cè)滑菜單

    這篇文章主要為大家詳細(xì)介紹了Android開源AndroidSideMenu實現(xiàn)抽屜和側(cè)滑菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 性能分析工具Systrace的使用及說明

    性能分析工具Systrace的使用及說明

    這篇文章主要介紹了性能分析工具Systrace的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Android關(guān)鍵字persistent詳細(xì)分析

    Android關(guān)鍵字persistent詳細(xì)分析

    這篇文章主要介紹了Android關(guān)鍵字persistent的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下
    2021-04-04
  • Android 資源混淆的方案及注意事項

    Android 資源混淆的方案及注意事項

    資源混淆有助于減小包體積,也可以提高被反編譯后閱讀代碼的難度。還可以應(yīng)對一些安全檢測機(jī)構(gòu)對于資源混淆要求。本文基于微信的Android資源混淆工具,實現(xiàn)資源混淆
    2021-05-05
  • Android系統(tǒng)狀態(tài)欄定制圖標(biāo)顯示邏輯控制

    Android系統(tǒng)狀態(tài)欄定制圖標(biāo)顯示邏輯控制

    這篇文章主要為大家介紹了Android系統(tǒng)狀態(tài)欄定制圖標(biāo)顯示邏輯控制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Android項目實戰(zhàn)手把手教你畫圓形水波紋loadingview

    Android項目實戰(zhàn)手把手教你畫圓形水波紋loadingview

    這篇文章主要為大家詳細(xì)介紹了Android項目實戰(zhàn)手把手教你畫圓形水波紋loadingview,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android 自定義view實現(xiàn)水波紋動畫效果

    Android 自定義view實現(xiàn)水波紋動畫效果

    這篇文章主要介紹了 Android 自定義view實現(xiàn)水波紋動畫效果的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-01-01

最新評論