我注意到在AsyncTask here的文檔中,您可以使用名爲get()
的方法在線程工作完成後檢索結果。該文件說它使用AsyncTask.get()和onPostExecute()之間的區別
等待如果必要的計算完成,然後檢索其結果。
這是否意味着,如果我有這行代碼:
List<Data> data = someAsyncTask.execute.get();
在主UI線程
,它等待後,在執行任何代碼之前完成的任務?如果是這樣,這將使得AsyncTask的使用毫無用處。我在這裏錯過了什麼?
是AsyntTask.get()
使用onPostExecute()
將數據返回到主線程的方法嗎?如果是這樣,它安全嗎?或者它用於完全不同的東西?
不,你是正確的,使用'GET'呈現一個異步任務沒用 – tyczj