我有一个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中的所有位图
答案 0 :(得分:0)
答案 1 :(得分:0)
位图吃了记忆。我不会将实际位图保留在数组中,而是保留图像资源的URI。
我还会考虑为图像使用Surface视图并在网格中绘制它们。然后,您可以将位图绘制到视图中,并在将它们绘制到画布后回收它们。如果它们是相对静态的,您可以绘制一次,然后保存所有缩放图像的单个位图。
也可以尝试加载RGB_565以减少内存使用量。
http://developer.android.com/reference/android/graphics/Bitmap.Config.html