最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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默認并不會運行在子線程中,它也不運行在一個獨立的進程中,它同樣執(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()

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

OnUnbind()

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

最后是OnDestory()

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

總結(jié)

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

相關(guān)文章

最新評論

比如县| 河南省| 兴隆县| 昌宁县| 泰顺县| 贵定县| 遵义县| 黄大仙区| 襄樊市| 南丹县| 柳江县| 特克斯县| 军事| 滦南县| 资兴市| 湄潭县| 宁波市| 日照市| 原平市| 体育| 绍兴市| 通许县| 遵义县| 贵德县| 化州市| 宁明县| 临高县| 施秉县| 云浮市| 太和县| 晋城| 兴城市| 临泉县| 金山区| 万安县| 尼木县| 义马市| 灵山县| 长阳| 喀什市| 泸水县|