我在一个响应中获取图像的URL字符串,然后我下载这些图像并转换为tobitmap然后在listview中显示。 这里我的问题是将来listview项目可能会增加到50000,在这种情况下我如何处理listview中的数据以获得平滑滚动而不给出ANR Exception。请提供一些示例代码。
答案 0 :(得分:0)
一次不加载所有图片....这将导致OutOfMemoryException
..您可以从网址加载图片数量....
要从网址下载图片,您可以使用Picasso库...
它可以帮助您避免OutOfMemoryException
并存储图像缓存..
你可以使用LAZY LOAD ...你可以尝试这段代码下载图片......
Picasso.with(context).load(URL).fit().centerCrop().into(imageView);
答案 1 :(得分:0)
简单回答不要让列表视图如此之大。在任何场景(网络,桌面或移动设备)中,单个屏幕中的50K元素绝不是一个好主意。我的建议就是在网站上加入某种分页。至于像上面提到的@Prag这样的图像,使用延迟加载来显示图像。在我的应用程序中,我使用Universal Image Loader并发现它对于显示大量位图非常有用。