2012-02-04 65 views

回答

1

不,an AsyncTask runs in a separate thread因此,如果在運行AsyncTask時Activity和AsyncTask共享狀態(在本例中爲實例變量),則必須執行常規的線程同步。

通常,爲了簡化操作,您需要實現onPublishProgress()onPostExecute()以將狀態從AsyncTask發佈到Activity,因爲這兩個方法都發布爲在UI線程中運行。

1

如果您直接訪問實例而沒有synchronize,則不可以,代碼爲而不是線程安全。 您必須使用synchronize或只是簡單地訪問onPublishProggress()方法AsyncTask的實例。