列表视图延迟加载图像组件的设计

时间:2012-12-18 12:55:05

标签: android multithreading listview lazy-loading

我认为在Android应用程序中很常见。我知道解决问题的部分尝试已经完成,但直到现在我还没有发现完全实施。我打算之后尝试实现这样的组件和开源,但我的设计需要你的帮助。

基本上我的情况如下:我有列表视图,显示从Web加载的图像和每行的文本。我想懒洋洋地加载图像,为每个图像设置默认值,并仅在下载图像时用真实图像替换它。我还希望保持图像缓存,避免在短时间内多次下载图像。

到目前为止,我发现了几个部分正在运行的实现,包括:

我还看到了几个有关此问题的stackoverflow问题:123

但是我还有一个要求让我的任务变得更复杂:我允许我的应用程序的用户将自己与某些图像联系起来。我想在用户导航到主屏幕时加载与用户相关联的新图像。从它开始,他应该能够看到他的图像,甚至在它们全部被下载之前,在这种情况下,再次默认占位符应该是可见的(注意跨屏幕转换)。这些用例是:

  • 列出用户的YouTube视频的应用
  • Facebook的应用程序 - 考虑朋友的图像
  • 提供支持用户收藏夹等新闻的应用

请注意,我想开始在主屏幕上提取与用户相关的新数据,以提供更好的用户体验。我会永久保存与本地存储的用户相关数据。

问题

所以我的基本问题是我应该使用什么方法来实现图像下载?我知道Android手册说Service只有在我想要执行任务时才使用,即使应用程序没有运行。另一方面,我将在主屏幕上开始图像下载,并在用户导航到新屏幕(Activity)时将下载链接到UI元素 - 用户相关列表视图,我不知道如何使用AsyncTask实现这一目标(并非我非常准确地知道如何使用Service)。

我们将非常感谢任何建议,包括链接。

1 个答案:

答案 0 :(得分:2)

Universal Image Downloader是一个很好的图书馆,可以帮助您在后台使用您的设置进行图像下载。

它有很多功能,您可以按自己的方式实现。

相关问题