下载图像并在Android ListView中使用它们的最佳方式?

时间:2016-05-30 19:08:39

标签: android listview android-asynctask

我是Android开发的新手,目前正在尝试解决问题,但我还没有足够的经验来判断哪种方式做得最好。

我正在尝试使用Web API或其他东西填充包含带有ImageView和TextView(例如汽车列表)的项目的自定义ListView,但我不确定哪种是处理图像的最佳方式。我关心的是一个可能的大型列表,其中包含数百辆汽车,每辆汽车都有一个图像。显然我们不想将所有这些图像存储在设备上,但是不下载所有这些图像会产生内存问题吗?有没有更好的方法来处理这种情况?

2 个答案:

答案 0 :(得分:0)

这是每个Android应用程序中非常流行的一种事情。当然,您不希望手动将任何Feed(例如)图片存储在您的设备上,这就是为什么有这么多有用的lib这些东西的原因。

就个人而言,我喜欢使用Glide。这个lib是Google推荐的,因为与Picasso相比有很多优点。至少,它可以与Gif一起使用,并且对设备的硬件更可靠。有一些文章,你应该阅读更多,如果你想了解更多。

关于ListView。不要使用它。只是不要。这有一个RecyclerView类。它被维护并且对于水平和垂直布局非常酷。绝对必须为您阅读。并且在编写代码之前不要忘记阅读ViewHolder模式,因为它有助于避免额外的内存和CPU使用(更好地重新创建和重新填充视图)。

顺便说一下,如果您需要一个强大而快速的解决方案,那么还有许多打包的recyclerview库的解决方案可以开箱即用#34;使用' em,您无需使用页脚和标题来处理无限列表等。例如,您可以使用此git repo:UltimateRecyclerView

答案 1 :(得分:0)

只需使用图书馆Glide!这很简单,你只需要在listview的适配器中执行此操作:

Glide.with(this).load("url of the image").into(imageView);

它会很顺利!