android异步图片加载三之handler+线程池+消息队列模式
布局代码:
?
activity代码:
public class SycLoadImg3 extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);loadImg("http://www.baidu.com/img/baidu_logo.gif",R.id.img1);loadImg("http://img3.cache.netease.com/www/logo/logo_png.png",R.id.img2);loadImg("http://www.iteye.com/images/logo.gif?1308833136",R.id.img3);}Handler handler = new Handler();ExecutorService threadPoll = Executors.newFixedThreadPool(5);private void loadImg(final String url,final int id) {threadPoll.submit(new Runnable() {@Overridepublic void run() {try {final Drawable drawable = ImgManager.getDrawableFromUrl(url);Thread.currentThread().sleep(2000);handler.post(new Runnable() {@Overridepublic void run() {ImageView img = (ImageView)SycLoadImg3.this.findViewById(id);img.setImageDrawable(drawable);}});} catch (Exception e) {e.printStackTrace();}}});}}?