为什麽使用AsyncTask来设置UI主线程ImageView的来自网络或磁盘的图片可以有效的防止阻塞?谁能给我解释一下AsycTask解决阻塞的具体实现原理?求大牛解释asynctask线程imageviewUI主线程网络

解决方案 »

  1.   

    网络请求和flash I/O都是很耗时的,如果放在UI主线程,那么主线程在进行这些操作的时候,就不会响应用户的操作了,甚至发生ANR。
    用AsyncTask来做,就是把这些耗时的操作异步处理,这样UI主线程可以快速响应用户的操作。
    可以简单的把AsyncTask理解成一个可以更新UI的线程。
      

  2.   

    明面上的就是启动一个线程  异步加载  加载完了告诉ui线程更新
    实际上的话  这肯定不止  为什么能线程通信和ui操作都没暴露出来   我想应该得到了主线程的looper吧  这样操作ui和通信都好理解点   具体是不是这样  坐等大神指点  或者查看源码也是能得到答案的
      

  3.   

    http://blog.csdn.net/mylzc/article/details/6774131
    百度了下  这个应该能解决LZ部分问题
      

  4.   

    UI主线程如果延迟5s以上,程序就会not response,因此数据请求等比较耗时的操作要放在异步线程中进行,绘制UI必须在UI线程中,AsyncTask的模式跟Thread + Handler的模式原理是一样的
      

  5.   

    是不是说AsyncTask.execute(...)相当于启动了一个线程,然后程序继续往下执行,AsyncTask独立运行了
      

  6.   

    读取网络或磁盘图片一般都比较耗时,放主线程很容易报ANR错误,而用异步线程的话,程序能读取图片的同时,继续跑主程序。
      

  7.   

    是不是说AsyncTask.execute(...)相当于启动了一个线程,然后程序继续往下执行,AsyncTask独立运行了