溫馨提示×

溫馨提示×

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

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

Android中怎么實(shí)現(xiàn)異步任務(wù)

發(fā)布時間:2022-04-11 16:23:32 來源:億速云 閱讀:201 作者:zzz 欄目:編程語言

本文小編為大家詳細(xì)介紹“Android中怎么實(shí)現(xiàn)異步任務(wù)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Android中怎么實(shí)現(xiàn)異步任務(wù)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

為了解決新線程不能更新UI組件的問題,Android提供了幾種解決方案

  1. 使用Hanlder

  2. Acitity.renOnuiThread(Runnable)

  3. View.post(Runnable)

  4. View.postDelayed(Runnable,long)

  5. ......

Hanlder的操作其實(shí)還算OK,主要是后面幾種方法可能導(dǎo)致編程略顯枯燥,這個時候使用AsyncTask可以簡化這種操作

AsyncTask<Parans,Progress,Result>是一個抽象類,通常用于被繼承,而被繼承則需腰指定這三個泛型參數(shù)

  1. Parans:啟動任務(wù)執(zhí)行的輸入?yún)?shù)的類型

  2. Progress:后臺任務(wù)完成的進(jìn)度值的類型

  3. Result:后臺執(zhí)行任務(wù)完成后返回結(jié)果的類型

使用異步操作其實(shí)只需要三步

  1. 創(chuàng)建AsyncTask的子類,并且為三個泛型參數(shù)指定類型

  2. 實(shí)現(xiàn)AsyncTask的方法

  3. 調(diào)用AsyncTask的子類的execute開始執(zhí)行耗時任務(wù)

使用execute時必須遵守的規(guī)則

  • 必須在UI線程中創(chuàng)建AsyncTask的實(shí)例

  • 必須在UI線程中創(chuàng)建AsyncTask的實(shí)例的execute方法

  • AsyncTask的各個方法應(yīng)該由Android系統(tǒng)調(diào)用而不是程序員

  • 每個AsyncTask只能被執(zhí)行一次,多次會引發(fā)異常

而AsyncTask的方法有如下幾種

  1. doInBackground(Params...)

  2. onProgressUpdate(Progress...values)

  3. onPreExecute()

  4. onPoxtExecute()

讀到這里,這篇“Android中怎么實(shí)現(xiàn)異步任務(wù)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI