【发布时间】:2014-01-22 00:13:19
【问题描述】:
我在我的安卓程序中使用universalImageLoader。
我的情况:
-
1 个浏览器(2 页)
-
第一页一个列表视图,第二页一个网格视图。
-
列表视图显示从互联网下载的图像(延迟加载),
-
gridview 显示 SD 卡上的图像。
两者都使用universalImageLoader 加载图像。
我的问题:
首先,转到viewpager的第1页,当网速很慢时,universalImageLoader pool中的所有线程都在下载listview的图片,此时,转到viewpager的第2页,gridview是空的,因为所有线程都在下载图像,我们必须等到所有图像下载完成,然后我们才能看到gridview中的图像出现(gridview中的图像应该很快就显示出来了,没有延迟,因为他们在 SD 卡上)。
我想清除UniversalImageLoader的下载线程池,并在用户转到第2页时添加新的本地图像请求,以便可以快速显示SD卡上的图像,但我没有找到这样做的方法。 UniversalImageLoader 没有 clearRequest() 方法
有什么解决办法吗?提前致谢。
【问题讨论】:
-
在代码中手动将ImageView项添加到gridview中。这应该适用于显示已加载所有图像的网格
-
@Pierre 会有OutOfMemoryError 的风险,因为UniversalImageLoader 管理下载图像而你自己管理本地图像,两者都会认为内存足够,但所有图像加起来可能会超过内存限制。另外,我想想办法让 UniversalImageLoader 处理所有图像
-
也许可以尝试调整您的图像大小,创建所有图像的缩略图,这些图像更小,并且会自动加载更快。然后onclick加载原始图像。也许在那一行
标签: android listview gridview android-viewpager universal-image-loader