/** * 最主要的方法 * * @param url * @param imageView * @param requiredSize 裁剪图片大小尺寸(一直裁剪到图片宽或高 至少有一个小与requiredSize的时候) * @param listener * @param defaultPicResId */ public void displayImage( String url, ImageView imageView, int requiredSize, OnImageLoaderListener listener, int defaultPicResId) { imageViews.put(imageView, url); // 先从内存缓存中查找 Bitmap bitmap = memoryCache.get(url); if (bitmap != null) { imageView.setImageBitmap(bitmap); if (null != listener) { listener.onFinishedImageLoader(imageView, bitmap); // 通知完成加载 } } else { // 如果defaultPicResId小于0,则不设置默认图片 if (defaultPicResId < 0) { queuePhoto(url, imageView, requiredSize, listener); return; } /** * 如果defaultPicResId等于0,则设置默认图片为config中的默认图片,并开启新线程加载真实需要的图片 * 如果defaultPicResId大于0,则设置默认图片为指定的默认图片,并开启新线程加载真实需要的图片 */ if (defaultPicResId == 0) { defaultPicResId = config.getDefaultResId(); } imageView.setImageResource(defaultPicResId); queuePhoto(url, imageView, requiredSize, listener); } }