真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

異步任務--AsyncTask-創(chuàng)新互聯(lián)

當UI(主)線程運行時間過長時,系統(tǒng)會出現(xiàn)ANR(Application No Response),為了避免這種情況,就需要將耗時操作設在非主線程中進行,這樣也能保證Android的單線程模型。

成都創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站建設、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元旬陽做網(wǎng)站,已為上家服務,為旬陽各地企業(yè)和個人服務,聯(lián)系電話:18982081108

    Android提供了一個封裝好的控件--AsyncTask,來完成這些操作,其能在子線程中更新UI,能封裝,簡化異步操作

  AsyncTask是一個抽象類,通常用于被繼承,繼承時需要指定以下三個泛型參數(shù):

  1.Params:啟動任務時輸入的參數(shù)類型

    2.后臺任務執(zhí)行中返回進度值的類型

    3.后臺執(zhí)行任務完成后返回結構的類型

  構建AsyncTask子類有以下回調方法

異步任務--AsyncTask

    因為此例子為簡單舉例,所以AsyncTask的三個參數(shù)不需要返回值,所以設為Void

    要啟動AsyncTask還需要在主函數(shù)中調用.execute();方法

例如:異步任務--AsyncTask

  要使用AsyncTask,還需要在主函數(shù)中,定義一個先前創(chuàng)建好的AsyncTask的子類方法,例如上文的MyAsyncTask

  舉例如下:

異步任務--AsyncTask

異步任務--AsyncTask

    這舉例是訪問網(wǎng)絡上一張圖片,把耗時的訪問加載圖片等操作放在AsyncTask中,因為訪問了網(wǎng)絡,不要忘了在AndroidManifest中添加訪問網(wǎng)絡的Permission

注意:由于一個線程沒有結束,下一個線程是沒法進行的,是需要等上一個進程完成后才能進行的,所以當想進行下一個線程時,可以采取AsyncTask.cancel(true)的方法結束當前線程,然后再執(zhí)行的步驟中,判斷如果isCancelled(),就不要再繼續(xù)執(zhí)行任務,直接break,然后再去進行下一個線程

    每個AsyncTask只能調用一次,多次調用會拋出異常

    AsyncTask的四個方法中,只有doInBackground()是運行在其它線程,其它三個是運行在主線程,所以doInBackground()不能直接更新UI,需要通過onPostExecute()或onProgressUpdate()方法更新UI

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網(wǎng)站名稱:異步任務--AsyncTask-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/hcosh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部