仅在滚动时使用延迟适配器

时间:2013-01-22 12:11:16

标签: android image listview lazy-loading

请原谅我的英语......我是法国人:)

我写这篇文章是因为我的Android应用程序有点问题! 我有一个带有图像和文本的列表视图,我想仅在用户看到项目时才加载图像。

例如

  • 我们在listview中有1000个项目
  • 用户滚动并显示项目52至项目57。
  • 我想为这些项目加载图片
  • 我想卸载(释放内存)其他物品

我清楚了吗?

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

按照其他人的建议使用lazyLoader。另外,使用手势检测器/监听器。不要调用ImageLoaders的getImage / Bitmap方法来获取用户flings时的图像。

你怎么能这样做?
在手势监听器方法的onFling中设置布尔值,并相应地重置它。

你取得了什么成绩?
当用户执行fling操作时,您将跳过下载图像。

<强>替代 累计请求并在延迟700 ms后下载。使用FIFO集合,集合的最大大小将等于可见项目的数量。如果用户滚动,则重置(进一步延迟)下载请求。

我更喜欢第一种方法。如果我有时间,会发布一些代码。

答案 1 :(得分:0)

使用lazyLoader的概念 因为你不得不添加懒惰装载机的jar文件

列表视图中的

有属性为 smoothscroll设置为true。

答案 2 :(得分:0)

您应该创建一个自定义列表视图适配器,您在互联网上有很多示例,例如:asynchronous image listviewmultithreading-for-performance或主题:Load asynchronous images in listView