package com.loopj.android.image; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.text.TextUtils; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; public class WebImage implements SmartImage { private static final int CONNECT_TIMEOUT = 5000; private static final int READ_TIMEOUT = 10000; private static WebImageCache webImageCache; private String url; public WebImage(String paramString) { this.url = paramString; } public Bitmap getBitmap(Context paramContext) { if (webImageCache == null) webImageCache = new WebImageCache(paramContext); Bitmap localBitmap = null; if (this.url != null) { localBitmap = webImageCache.get(this.url); if (localBitmap == null) { localBitmap = getBitmapFromUrl(this.url); if (localBitmap != null) webImageCache.put(this.url, localBitmap); } } return localBitmap; } private Bitmap getBitmapFromUrl(String paramString) { Bitmap localBitmap = null; try { System.out.println("paramString:" + paramString); if (TextUtils.isEmpty(paramString)) { localBitmap = null; } else { URLConnection localURLConnection = new URL(paramString) .openConnection(); localURLConnection.setConnectTimeout(CONNECT_TIMEOUT); localURLConnection.setReadTimeout(READ_TIMEOUT); // �������ж�ͼƬ�Ĵ�С InputStream is = (InputStream) localURLConnection.getContent(); System.out.println("λ�ã�webImage-getBitmapFromUrl:" + paramString + " ; " + localURLConnection.getContentLength()); if (localURLConnection.getContentLength() < SmartImage.maxLength) { localBitmap = BitmapFactory.decodeStream(is); } else { localBitmap = null; } } } catch (Exception localException) { localException.printStackTrace(); } return localBitmap; } public static void removeFromCache(String paramString) { if (webImageCache != null) webImageCache.remove(paramString); } }