我有一个 Android Gallery 小部件,它显示了几个带有来自网络的图片的 ImageView。图像存储为 jpg,并在添加到 ImageView 之前转换为位图。每个 jpg 为 8kb。我没有对图像进行任何缩放。
当我使用带有 1 或 2 张图片的图库时,它工作正常,滚动流畅等。使用 3 张时,它开始变得有点不稳定,而在 5 或 10 张图片时,应用程序几乎无法使用。
有没有人知道为什么性能如此糟糕?有人对替代品有建议吗?谢谢-
@elevine:我从 jpg url 构造位图的方法:
private Bitmap getBitmapFromURL(String input) throws IOException {
URL url = new URL(input);
URLConnection conn = url.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
Bitmap bm = BitmapFactory.decodeStream(bis);
bis.close();
is.close();
return bm;
}
这是我的 ImageAdapter 中的 getView 方法。我开始怀疑这是我的问题所在......我是否多次抓取图像?谢谢你的帮助!
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
Bitmap bm;
try {
imageView.setImageBitmap(getBitmapFromURL(urls.get(position)));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//mageView.
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setLayoutParams(new Gallery.LayoutParams(100,100));
return imageView;
}