日本欧美中文字幕|免费久久一级欧美大黄|欧美日韩成人在线观看|亚洲欧美日韩国产一区精品|亚洲精品美女777777|国产嫩草AV一区二区三区|色婷婷色综合一区二区在线观看|爆乳护士一区二区三区在线播放

全國- 「切換城市」 培訓(xùn)家旗下培訓(xùn)平臺
手機版
網(wǎng)站導(dǎo)航

學(xué)習(xí)Android開發(fā)有哪些技巧呢

2020.03.20

發(fā)布者:網(wǎng)上發(fā)布

??在Android中,線程分為主線程和子線程。主界面用于與用戶交互,進(jìn)行UI的相關(guān)操作,而子線程則負(fù)責(zé)耗時操作。如果在主線程中進(jìn)行耗時操作,就會使程序無法及時的響應(yīng)。因此,耗時操作必須放在子線程中進(jìn)行。為了方便你快速清晰地了解線程與安卓開發(fā),本文將從以下幾個方面為你闡述
??1 主線程和子線程
??主線程是指進(jìn)程所有用的線程,在Android中即指進(jìn)行UI與用戶交互的線程就是主線程。因此在Android開發(fā)中,需要盡可能的把耗時操作,網(wǎng)絡(luò)請求訪問操作,數(shù)據(jù)庫讀取操作等放在子線程,以避免主線程長期處于占用狀態(tài)以降低用戶體驗。系統(tǒng)要求網(wǎng)絡(luò)訪問必須在子線程中進(jìn)行,否則會拋出NetworkOnMainThreadException異常。
??2 線程形態(tài)
??Android中的線程形態(tài)有傳統(tǒng)的Thread,AsyncTask,HandlerThread和IntentService。
??AsyncTask封裝了Thread和Handler,必須在主線程進(jìn)行調(diào)用,它可以在子線程中執(zhí)行任務(wù),然后將執(zhí)行的結(jié)果傳遞給主線程并更新UI。但AsyncTask并不適合執(zhí)行特別耗時的任務(wù)。
??AsyncTask是一個泛型類,提供了三個泛型參數(shù):Params,Progress和Result。
??Params表示參數(shù)的類型
??Progress表示后臺任務(wù)的執(zhí)行進(jìn)度的類型
??Result表示后臺任務(wù)返回結(jié)果的類型
??AsyncTask的聲明:
??2.1.2 方法:
??AsyncTask提供了一些核心方法:
??onPreExecute在主線程中調(diào)用用來進(jìn)行異步任務(wù)的準(zhǔn)備操作。
??doInBackground(Params……params)在執(zhí)行完onPreExecute后進(jìn)行子線程任務(wù)時自動調(diào)用,Params表示異步任務(wù)的輸入?yún)?shù)。在方法中可以通過publishProgress更新任務(wù)的完成進(jìn)度,同時在結(jié)束調(diào)用后會返回結(jié)果給onPostExecute方法。
??onProgressUpdate(Params……params)在主線程中用于顯示任務(wù)進(jìn)行的進(jìn)度,在publishProgress方法中被調(diào)用。
??onProgressExecute(Result result)在主線程中用戶獲取任務(wù)結(jié)束后回返的結(jié)果,即doInBackground的返回值。
??onCancelled在主線程中執(zhí)行,當(dāng)異步任務(wù)被取消后不會執(zhí)行onProgressExecute方法而會執(zhí)行onCancelled方法。

上一篇:幼兒時期學(xué)習(xí)英語的好處 下一篇:孩子在幼兒時期學(xué)習(xí)英語的優(yōu)勢有哪些

推薦機構(gòu)

熱門課程

本站展示的所有信息內(nèi)容系由機構(gòu)或個人用戶發(fā)布,可能存在發(fā)布者所發(fā)布的信息,并未獲得品牌所有人有效授權(quán)。本平臺會加強審核,但無法完全排除差錯或疏漏。鄭重聲明:本平臺僅為免費注冊用戶提供免費的信息發(fā)布渠道,但不對其發(fā)布信息的真實性、準(zhǔn)確性和合法性負(fù)責(zé),對此也不承擔(dān)任何法律責(zé)任。對于從本網(wǎng)站或本網(wǎng)站的任何有關(guān)服務(wù)所獲得的資訊、內(nèi)容或廣告,您接受或信賴任何信息所產(chǎn)生之風(fēng)險應(yīng)自行承擔(dān),本網(wǎng)對任何使用或提供本網(wǎng)站信息的商業(yè)活動及其風(fēng)險不承擔(dān)任何責(zé)任。,如果侵犯,請及時通知我們,發(fā)送郵件至15610150293@126.com本網(wǎng)站將在第一時間及時刪除。