2012-06-19 105 views

回答

0
get() 

目的,獲取的(),是阻斷,直到所獲得的結果。例如,如果您有多個任務,其中一個使用另一個 ,則此 可能很有用。一個任務可以開始另一個任務,並在繼續自己的工作之前調用get()等待它完成 。

onPostExecute (Result result) 

在doInBackground(Params ...)之後的UI線程上運行。指定的結果是由doInBackground(Params ...)返回的值。

如果任務被取消,則不會調用此方法。

0

get()讓你(當前線程)等待,直到結果出來,onPostExecute確實工作異步,並在後臺工作完成後像回調一樣工作。

http://developer.android.com/reference/android/os/AsyncTask.html#get()

公開的最終結果得到()

如有必要,等待計算完成,然後獲取其結果。

+0

好的,所以在其他工作中,使用get()會進行同步調用? – Johan

+0

可以說........... –

2

的get()方法不是很好的方法,因爲它採空UI線程

+0

明白了,謝謝! – Johan

1

唯一可以確保您已在doInBackground()中開始的操作已完成的地方是回調方法onPostExecute()。因此,就AsyncTask而言,使用get()並不是一個明智的想法。