如何快速调整图像格式到gridview?

时间:2015-01-20 17:46:39

标签: android gridview

我有一个gridview和设备上所有图像的列表 我试图在gridview上显示它们,并在gridview适配器中将它们调整为固定大小250x250px

Bitmap b2 = Bitmap.createScaledBitmap(b, width, width, true);

但太慢了 有没有办法更快地显示它们?

我也试着用

获得MINI_KIND
  Bitmap b = MediaStore.Images.Thumbnails.getThumbnail(
                    activity.getContentResolver(), Long.parseLong(thumb),
                    MediaStore.Images.Thumbnails.MINI_KIND, bmOptions);

但是这种方式占用了大量内存(90张照片为90张图片),因为我保留了arraylist中的所有位图

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

位图吃了记忆。我不会将实际位图保留在数组中,而是保留图像资源的URI。

我还会考虑为图像使用Surface视图并在网格中绘制它们。然后,您可以将位图绘制到视图中,并在将它们绘制到画布后回收它们。如果它们是相对静态的,您可以绘制一次,然后保存所有缩放图像的单个位图。

也可以尝试加载RGB_565以减少内存使用量。

http://developer.android.com/reference/android/graphics/Bitmap.Config.html