課程
/移動開發(fā)
/Android
/Android必學(xué)-AsyncTask基礎(chǔ)
? ? 什么時候用thread?什么時候用asynctask
2015-12-19
源自:Android必學(xué)-AsyncTask基礎(chǔ)
正在回答
asynctask內(nèi)部其實是使用的一個線程池,能同時運行5條線程,線程生命周期不用你自己管理,想要異步處理的東西往里扔就行了,而且doInBackground執(zhí)行完的結(jié)果可以直接在onPostExecute方法參數(shù)里得到,直接更新UI界面。
thread就有些麻煩,每次使用都要自己new一個線程,要自己管理其生命周期,用不好沒準(zhǔn)還會發(fā)生死鎖。而且android還不允許在非主線程的線程更新UI,這樣的話thread運行得到的結(jié)果如果需要更新UI可能還需要發(fā)一個handler通知主線程更新界面,代碼寫起來比較凌亂不如asynctask一目了然好維護。
qq_草莓泡芙i_0 提問者
舉報
了解Android中AsyncTask的使用方法,掌握異步線程的使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-12-19
asynctask內(nèi)部其實是使用的一個線程池,能同時運行5條線程,線程生命周期不用你自己管理,想要異步處理的東西往里扔就行了,而且doInBackground執(zhí)行完的結(jié)果可以直接在onPostExecute方法參數(shù)里得到,直接更新UI界面。
thread就有些麻煩,每次使用都要自己new一個線程,要自己管理其生命周期,用不好沒準(zhǔn)還會發(fā)生死鎖。而且android還不允許在非主線程的線程更新UI,這樣的話thread運行得到的結(jié)果如果需要更新UI可能還需要發(fā)一個handler通知主線程更新界面,代碼寫起來比較凌亂不如asynctask一目了然好維護。