GridView超出内存预算

时间:2011-08-16 02:21:29

标签: java android gridview user-interface

我正在关注that example以创建图片库。为了避免在加载大量图片时出现内存崩溃,我已使用BitmapFactory将图片大小调整为单元格大小。

但是当尝试加载更高的图像或使用堆大小更少的手机时,问题仍然存在。所以我试图检测图像何时可见以及何时不再可见以重新加载/释放位图。

我通过

检测细胞何时可见
public View getView(int position, View convertView, ViewGroup parent) {

}

但我不知道如何检测View何时离开滚动条。你能救我吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

我想在这里你可以使用“懒惰列表”的概念,它的jst加载图像一次并存储在缓存中并且dnt一次又一次地重新加载,所以只是谷歌它的例子被给予搜索关键词“懒惰列表”

答案 1 :(得分:1)

一般来说,在gridview中显示大图像时,您希望使用预先显示的缩略图。显示几个大图像需要大量内存,然后必须将它们压缩到原始大小的5%。