2013-09-24 138 views
0

我正在处理3mb图像,问题是当我释放我的手指滚动时,图像,有点从缓存下载在我的情况下SD卡。我也使用PauseOnScrollListener,它并没有解决问题。即使我在滚动时没有查看图像,我也希望图像保持在网格上。通用图像加载器通过在不显示图像时不显示图像来处理它,并且当我暂停并看到特定图像时,那就是它再次显示的时间。通用图像加载程序不保留显示的图像

options = new DisplayImageOptions.Builder() 
      .showStubImage(icon) 
      //Because you reuse view for different 
      //images you can see a previous image in the view while new image is loading. .resetViewBeforeLoading(true 
      .showImageForEmptyUri(R.drawable.ic_empty) 
      .showImageOnFail(R.drawable.ic_error) 
      .cacheOnDisc(true) 
      .cacheInMemory(true) 
      .bitmapConfig(Bitmap.Config.RGB_565) 
      .build(); 
+0

你想通过网页加载图片?我的意思是你是否试图将图像网址设置为图像视图? – TharakaNirmana

回答

1

如果您使用的是GridView,这是正常的行为。

实际上发生的情况是,当您滚动浏览时,不可见或滚动出屏幕的元素将被销毁或换句话说就是无效。原因是内存优化,这是由android完成的。

如果您的网格元素中有任何文本视图,它会在返回屏幕时加载得更快。但对于图像,ImageLoader可能需要一些时间将图像从缓存加载到ImageView中。我认为这是正常的。

如果你不希望图像被破坏,那么你会遇到OutOfMemory异常,这是更好。

+0

非常简洁的解释。谢谢。你是否也可以在这个问题上包含支持性文章,我相信这也可以帮助其他人。 :) – rahstame

相关问题