我的应用程序一个接一个地向用户显示图像。图像从服务器下载。由于我不希望用户等待下载图像,因此我在本地文件系统中缓存了这些图像(比如新的50张图像)。
实现:
从onCreate方法开始AsyncTask
,它将继续在后台下载图像。
这个用例最适合AsyncTask
吗?我不想使用Service
,因为我不希望下载连续发生
AsyncTask
最适合此目的吗?
答案 0 :(得分:2)
我建议使用现有的图书馆,例如Picasso(广场)或Volley(Google)。
Picasso特别容易实现,并且可以很好地满足您的需求,并且非常简单:
Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);
您不必关心AsyncTasks或AsyncTaskLoaders,因为库可以解决所有这些问题,将这些图像缓存在内存和磁盘上。
如果您坚持构建自己的解决方案,我建议您四处寻找相关问题,因为有很多事情要记住:
答案 1 :(得分:1)
是的,您可以将Asynctask用于此目的。使用Asynctask“onProgressUpdate()之一,您可以在下载图像时并行更新UI。
答案 2 :(得分:0)
您可以使用universalImageLoader
库以有效的方式下载图像。
请参阅此how to use universal Image loader for downloading images
您的要求的另一个解决方案是Volley Library