在android中使用AsyncTask下载图像

时间:2013-05-08 13:43:33

标签: android bitmap android-asynctask imageurl

我被困在一点上。我需要同样的建议。 我正在创建一个涉及json解析的应用程序。解析后我得到的数据涉及事件名称,事件描述,事件地点,事件图像URL等。数据巨大。你可以想象facebook有点儿的东西。

现在问题是数据被解析但是因为事件图像是url的形式,我需要将其转换为Bitmap。 我已将json解析和位图转换的所有过程保存到一个AsyncTask(doInBackground())中。

这需要花费大量时间。我想要像facebook这样的东西,数据被加载并显示给最终用户,但图像加载缓慢而稳定。 (我的意思是当我们滚动facebook时,图像不会立即出现)。

我想要一个类似的功能。我需要建议。

3 个答案:

答案 0 :(得分:2)

您仍然可以使用AsyncTask,只需要使用两个单独的任务。 一个用于加载和解析JSON,另一个用于加载图像。

在解析JSON之后,您需要为您尝试加载的每个图像启动AsyncTask,使它们全部加载到自己的线程上。它会在项目完成加载后显示。

答案 1 :(得分:0)

以下是您的解决方案https://github.com/nostra13/Android-Universal-Image-Loader

您只需将url和imageview资源传递给loader,它就会为您处理任务。还支持缓存。这个库很简单,也很广泛使用

答案 2 :(得分:0)

这个概念称为延迟加载(AFAIK)。您可以使用已开发的 ImageLoader 。它将在后台下载图像,一旦下载,它将设置为ImageView的背景。见Custom Downloader