中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android四大組件之Service詳解

發布時間:2020-09-25 05:40:06 來源:腳本之家 閱讀:152 作者:*是杯酒漸濃* 欄目:移動開發

一、Service簡介

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

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

二、Service生命周期

Android四大組件之Service詳解

1.startService / stopService

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

OnCreate()

系統在service第一次創建時執行此方法,來執行只運行一次的初始化工作。如果service已經運行,這個方法不會被調用。

onStartCommand()

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

OnDestory()

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

2.bindService / unbindService

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

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

OnBind()

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

OnUnbind()

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

最后是OnDestory()

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

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂尔多斯市| 平罗县| 仙桃市| 霸州市| 花莲市| 扎兰屯市| 牡丹江市| 抚远县| 招远市| 阿拉善盟| 长阳| 普宁市| 仙居县| 新疆| 贺兰县| 太原市| 金阳县| 定州市| 竹山县| 大新县| 错那县| 吉林市| 建德市| 进贤县| 苍南县| 永修县| 武川县| 柳林县| 延川县| 云龙县| 东兰县| 晋江市| 镇赉县| 锡林浩特市| 和硕县| 泸西县| 公安县| 双江| 贵定县| 新化县| 晋城|