一、AsyncTask是封裝好的線程池,比起Thread+Handler的方式,AsyncTask在操作UI線程上更方便,因為onPreExecute()、onPostExecute()及更新UI方法onProgressUpdate()均運行在主線程中,這樣就不用Handler發消息處理了;
二、我不太同意封裝好就會影響性能的說法,在我實際的運用中,真正的缺點來自於AsyncTask的全局線程池只有5個工作線程,也就是說,一個APP如果運用AsyncTask技術來執行線程,那么同一時間最多只能有5個線程同時運行,其他線程將被阻塞(注:不運用AsyncTask執行的線程,也就是自己new出來的線程不受此限制),所以AsyncTask不要用於多線程取網絡數據,因為很可能這樣會產生阻塞,從而降低效率。
建議好好閱讀這篇文章:http://blog.csdn.net/mylzc/article/details/6784415