2017-04-24 68 views
1

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

+0

it's过多解释清楚,但此开发指南帮助:https://developer.android.com/topic/perfor mance/graphics/load-bitmap.html – Opiatefuchs

回答

0

是由谷歌在列表或recyclerview下载和显示图像推荐接受的最佳做法是使用滑翔库

https://github.com/bumptech/glide

的API看起来像这样

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

+0

这有一些怪癖和局限性,因为我用圆角的图像,但它似乎非常好,谢谢。没有问题,你无法绕过一点研究 –

+0

是的,滑翔真棒:D – Shmuel

1

如果你想使用第三方图片下载库,那么你可以使用Picasso
其actullay相当整洁和简单易用。它为您的应用程序缓存。
您可以参考this教程。
快乐学习:)

相关问题