天天看點

Java線程更新ui_兩種多線程更新UI?

1  AsyncTask實作的原理,和适用的優缺點

AsyncTask,是android提供的輕量級的異步類,可以直接繼承AsyncTask,在類中實作異步操作,并提供接口回報目前異步執行的程度(可以通過接口實作UI進度更新),最後回報執行的結果給UI主線程.

使用的優點:

l  簡單,快捷

l  過程可控

使用的缺點:

l  在使用多個異步操作和并需要進行Ui變更時,就變得複雜起來.

2 Handler異步實作的原理和适用的優缺點

在Handler 異步實作時,涉及到 Handler, Looper, Message,Thread四個對象,實作異步的流程是主線程啟動Thread(子線程)àthread(子線程)運作并生成Message- àLooper擷取Message并傳遞給HandleràHandler逐個擷取Looper中的Message,并進行UI變更。

使用的優點:

l  結構清晰,功能定義明确

l  對于多個背景任務時,簡單,清晰