嗨,新年快乐!下载图片并将它们添加到ImageViews
我试图从互联网下载图像,并将它们放入不同的ImageViews中。 ImageViews是随用户滚动而动态创建的。当用户到达滚动视图的底部时,我会加载10个图像。
图像加载好,但是当我有很多图像时,我得到一个java.lang.OutOfMemoryError。
我知道问题是我有很多图像消耗大量的内存,所以...我的方案继续下去的方式是什么?
谢谢!
嗨,新年快乐!下载图片并将它们添加到ImageViews
我试图从互联网下载图像,并将它们放入不同的ImageViews中。 ImageViews是随用户滚动而动态创建的。当用户到达滚动视图的底部时,我会加载10个图像。
图像加载好,但是当我有很多图像时,我得到一个java.lang.OutOfMemoryError。
我知道问题是我有很多图像消耗大量的内存,所以...我的方案继续下去的方式是什么?
谢谢!
尝试使用ListView而不是ScrollView。然后你可以使用延迟加载技术,如Universal Image Loader。 ListView利用视图回收,这将更容易在您的内存中,并且您还可以使用图像加载器来缓存图像。这个库也有一些内存管理选项。
你将不得不跟踪你已经加载的图像,并开始回收它们时,他们不在眼前。
您可能会发现LruCache是一个有价值的工具。在IO12“Doing More With Less: Being a Good Android Citizen”上有一个很好的演讲,讨论了大量的内存问题,并且包括一些关于如何在4分钟左右开始使用LruCache的讨论。
我需要两个图像柱(以pinterest应用程序为例或我在做什么)。你认为listview适合吗? – Chux
单列滚动还是整个布局滚动为一个列表? – Wenger
他们需要滚动为一个单一的列表 – Chux