AsyncTask的初步了解

2022-08-31 07:42:10 字數 1071 閱讀 9227

首先我們需要知道的是asynctask是對執行緒池+handler的進一步封裝。

下面看乙個簡單的**:

1

public

class mainactivity extends

activity

1213

//asynctask 非同步封裝的工具, 可以實現非同步請求及主介面更新(對執行緒池+handler的封裝)

14class mytask extends asynctask

2122

//2.正在載入, 執行在子執行緒(核心方法), 可以直接非同步請求

23@override

24protected

bitmap doinbackground(string... params)

2728

//3.更新進度的方法, 執行在主線程

29@override

30protected

void

onprogressupdate(integer... values)

3334

//4.載入結束, 執行在主線程(核心方法), 可以直接更新ui

35@override

36protected

void

onpostexecute(bitmap bitmap) 39}

4041

/**42

43*

@param

url 伺服器的ip

44*

@return

請求成功返回bitmap物件,不成功返回null

45*/

46private

bitmap download(string url)

62 } catch

(ioexception e)

6566

return

null;67

}68 }

需要注意的是asynctask裡面的doinbackground()方法是執行在子執行緒的,剩下的三個方法是執行在主線程的。所以我們在doinbackground()方法中做耗時操作。

AsyncTask方法了解

class updatetexttask extends asynctask 執行在ui執行緒中,在呼叫doinbackground 之前執行 override protected void onpreexecute 後台執行的方法,可以執行非ui執行緒,可以執行耗時的方法 override pro...

Jawe的初步了解

一 解壓開 jawe 原始碼包二 執行configure.bat 檔案這時會產生乙個 build.properties 檔案。檔案內容大致如下 jdk.dir c jbuilderx jdk1.4 install.dir version.number 1.4 三 再執行 make.bat 就可以編譯...

Docker的初步了解

有些開發者可能還是不明白 docker 對自己到底有多大的用處,因此翻譯 docker 個人用例 這篇文章中來介紹 docker 在普通開發者開發過程中的用例。docker 如今贏得了許多關注,很多人覺得盛名之下其實難副,因為他們仍然搞不清 docker 和普通開發者到底有什麼關係。許多開發者覺得 ...