午夜久久亚洲精品|A级黄韩国免费久久久|91亚洲四虎精品网址|国产精品良家极品身材反差|在线看片日本免费一区二区|久久天天躁日日躁狠狠综合|日本欧美国产精品第一页久久|国产精品夜色视频一区二区三区

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

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

2020.03.20

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

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

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

推薦機(jī)構(gòu)

熱門課程

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