【问题标题】:android universal image loader for two listview in viewpagerviewpager中两个listview的android通用图像加载器
【发布时间】: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


【解决方案1】:

当用户转到第 2 页时,请致电 ImageLoader.stop()。它清除线程池。

【讨论】:

  • 感谢您的回答!对了,设置 .tasksProcessingOrder(QueueProcessingType.LIFO) 也可以达到满意的效果。
猜你喜欢
  • 2013-03-14
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
  • 2017-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-16
相关资源
最近更新 更多