如何处理Android ListView拥有超过15000位大小100kb的位图

时间:2014-08-08 11:30:05

标签: android listview bitmap

我在一个响应中获取图像的URL字符串,然后我下载这些图像并转换为tobitmap然后在listview中显示。 这里我的问题是将来listview项目可能会增加到50000,在这种情况下我如何处理listview中的数据以获得平滑滚动而不给出ANR Exception。请提供一些示例代码。

2 个答案:

答案 0 :(得分:0)

一次不加载所有图片....这将导致OutOfMemoryException ..您可以从网址加载图片数量....

要从网址下载图片,您可以使用Picasso库... 它可以帮助您避免OutOfMemoryException并存储图像缓存..

你可以使用LAZY LOAD ...你可以尝试这段代码下载图片......

Picasso.with(context).load(URL).fit().centerCrop().into(imageView);

答案 1 :(得分:0)

简单回答不要让列表视图如此之大。在任何场景(网络,桌面或移动设备)中,单个屏幕中的50K元素绝不是一个好主意。我的建议就是在网站上加入某种分页。至于像上面提到的@Prag这样的图像,使用延迟加载来显示图像。在我的应用程序中,我使用Universal Image Loader并发现它对于显示大量位图非常有用。