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

时间:2017-04-24 18:17:19

标签: android performance android-arrayadapter imagedownload

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

2 个答案:

答案 0 :(得分:1)

如果您想使用第三方图片下载程序库,则可以使用Picasso
它的actullay非常简洁易用。它会为您的应用程序进行缓存 您可以参考this教程 快乐学习:)

答案 1 :(得分:0)

Google建议用于在列表或回收站视图中下载和显示图像的最佳做法是使用Glide库

https://github.com/bumptech/glide

api看起来像这样

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