Android,在列表适配器中高效地加载图像

Android, loading images efficiently in a list adapter

我正在编写一个 android 应用程序。我有一个 ArrayAdapter,我用它来显示项目列表,其中每个项目的一部分是图像。我在 adapers getView() 方法中异步下载图像,我正在使用缓存来保持它尽可能高效并停止过多的重新下载。我面临的问题是 android 可以根据需要多次调用每个项目的 getView() 方法。它通常被称为比图像实际下载速度更快,因此同一张图像甚至在进入缓存之前可以排队等待多次下载。是否有关于如何防止图像重复排队等待下载的最佳实践?这似乎是对移动数据的巨大浪费。

如果你想使用第三方图片下载库那么你可以使用Picasso
它实际上非常简洁且易于使用。它为您的应用程序缓存。
可以参考this教程
快乐学习:)

Google 推荐的在列表或回收视图中下载和显示图像的公认最佳做法是使用 Glide 库

https://github.com/bumptech/glide

api 看起来像这样

Glide.with(context) .load(url) .centerCrop() .placeholder(R.drawable.loading_spinner) .crossFade() .into(myImageView);