在android中使用AsyncTask下载图像



我被卡住了。我也需要建议。我正在创建一个涉及json解析的应用程序。解析后,我得到的数据涉及事件名称,事件描述,事件地点,事件图像url等。数据是巨大的。你可以想象facebook之类的东西。

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

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

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

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

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

为您提供解决方案https://github.com/nostra13/Android-Universal-Image-Loader

你只需要传递url和imageview资源给loader,它就会为你处理一切。还支持缓存。这个库简单且被广泛使用

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

最新更新