【发布时间】:2011-08-21 21:08:12
【问题描述】:
我正在开发一个 Android 应用程序,它的视图包含多个图库。画廊(位图)的内容是来自互联网的红色。
对于第一个画廊,一切正常,但是当尝试下载第二个画廊的第一张图片时,BitmapFactory.decodeStream(InputStream) 返回 null,而流不为 null。
public void loadBitmap() throws IOException {
for (int i = 0; i < images.size(); ++i) {
URL ulrn = new URL(images.get(i).getThumbUrl());
HttpURLConnection con = (HttpURLConnection) ulrn.openConnection();
InputStream is = con.getInputStream();
images.get(i).setImage(BitmapFactory.decodeStream(is));
Log.i("MY_TAG", "Height: " + images.get(i).getImage().getHeight());
}
}
getThumbUrl() 返回图片的 URL(例如http://mydomain.com/image.jpg)
它在Log.i("MY_TAG", "Height: ... ) 行抛出一个NullPointerException
(images 是一个 ArrayList 包含我的类的对象,它也包含 URL 和位图)。
感谢您的建议!
【问题讨论】:
-
不太大,我会说大约 100x50。但如果这是问题所在,我会得到一些 OutOfMemoryException,不是吗? (我将大约 30-35 张图片加载到画廊,一次大约 10 张大一点的图片)
标签: android gallery bitmapfactory