AsyncTask 和 Thread 區別


一、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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM