Android在ListView中加载图片

时间:2015-09-01 23:28:33

标签: java android image listview

我正在将图片从Parse.com加载到我的列表视图,一切正常,但问题是当我滚动列表视图时图像一直在重新加载。我在内存中缓存图像,但在加载每个图像之前闪烁,每次都很烦人。

我正在使用异步任务加载我的图像,这里是代码:

`Private Sub Pic1_Clicked(sender As Object, e As EventArgs) Handles Pic1.Click

    RaiseEvent ItemClicked()

End Sub`

我可以做些什么来保持例如一次加载在列表视图中的10个图像?

3 个答案:

答案 0 :(得分:1)

您应该考虑使用Picasso库。从他们的网站:

  • 它在适配器中处理ImageView回收和下载取消。
  • 使用最少内存的复杂图像转换。
  • 自动内存和磁盘缓存。

它广泛用于图像下载,非常易于使用。

希望有所帮助!

答案 1 :(得分:1)

与op建议一样,使用Picasso将是更明智的方法。

但是,你仍然需要使用drawable作为占位符,以防止这种“恼人的闪烁”。

ParseFile img = (ParseFile)num.get("img");
String urlImage = img.getUrl().toString();
Picasso.with(context).load(urlImage).fit().centerCrop().placeholder(R.drawable.white_placeholder).into(imageview);

答案 2 :(得分:0)

对于使用通用图像加载器的任何人来说,问题出在我的配置中,我的缓存太少了。现在我改变了一切,一切都很完美。

.memoryCache(new LruMemoryCache(50 * 1024 * 1024))
            .memoryCacheSize(50 * 1024 * 1024)