本人刚入门新手一枚。今天在练习bitmap内存缓存和本地缓存。
使用到Bitmapfactory.Options 的时候遇到了一点问题,
在Options设置之后无法获取到bitmap。
代码如下:
private Bitmap downloadBitmap(String imageUrl) {
HttpURLConnection conn = null;
try {
URL url = new URL(imageUrl);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod(“GET”);
conn.setConnectTimeout(5 * 1000);
conn.setReadTimeout(5 * 1000);
if (conn.getResponseCode() == 200) {
//Bitmap bitmap = BitmapFactory.decodeStream(conn.getInputStream());
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(conn.getInputStream(), null, options);
options.inSampleSize = calculateInSampleSize(options,
PixelUtils.dip2px(context, 200), PixelUtils.dip2px(context, 250));
options.inPreferredConfig = Config.RGB_565;
options.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeStream(conn.getInputStream(), null,options);
if (bitmap != null) {
return bitmap;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (conn != null) {
conn.disconnect();
}
}
return null;
}
}
本人看了下别的资料,问题可能出在 conn.getInputStream()只能调用一次。有 办法解决吗
代码有点乱不好调,将就看一下哈
求高手不吝赐教,感激不尽。
40
80