protected void handleImage(List<AdInfo> adinfos) { DisplayImageOptions options; if (UtilsTools.hasDiskCache()) { options = new DisplayImageOptions.Builder().cacheInMemory(true).cacheOnDisk(true).build(); } else { options = new DisplayImageOptions.Builder().cacheInMemory(true).cacheOnDisk(false).build(); } Log.i(TAG, "source infos size : " + adinfos.size()); for (AdInfo adinfo : adinfos) { Log.i(TAG, "source url : " + adinfo.getPic_url()); changeImagePos(adinfo); ImageSize targetSize = new ImageSize( mContext.getResources().getInteger(R.integer.ad_target_image_width), mContext.getResources().getInteger(R.integer.ad_target_image_height)); final int t = adinfo.getDismiss_time(); ImageLoader.getInstance() .loadImage( adinfo.getPic_url(), targetSize, options, new SimpleImageLoadingListener() { @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { mAdView.setImageBitmap(loadedImage); mRefreshHandler.removeMessages(DISMISS_AD); mRefreshHandler.sendEmptyMessageDelayed(DISMISS_AD, t); if (mB != null && loadedImage != mB) { mB.recycle(); } mB = loadedImage; } }); } }