我的应用程序向用户一个接一个地显示图像。图像从服务器下载。由于我不希望用户等待下载的图像,我将它们缓存在本地文件系统中(例如新的50张图像)。AsyncTask用于在后台下载图像
执行: 从onCreate方法启动一个AsyncTask
,将继续在后台下载图像。 是AsyncTask
最适合这种使用情况?我不想用一个Service
因为我不想下载到连续发生
是AsyncTask
最适合这个目的是什么?
我的应用程序向用户一个接一个地显示图像。图像从服务器下载。由于我不希望用户等待下载的图像,我将它们缓存在本地文件系统中(例如新的50张图像)。AsyncTask用于在后台下载图像
执行: 从onCreate方法启动一个AsyncTask
,将继续在后台下载图像。 是AsyncTask
最适合这种使用情况?我不想用一个Service
因为我不想下载到连续发生
是AsyncTask
最适合这个目的是什么?
是的,你可以使用Asynctask来达到这个目的。而使用的AsyncTask“onProgressUpdate()的API中的一个,可以并行更新的用户界面为你的形象越来越下载。
您还需要在处理返回到UI线程时检查UI的无效性。该活动可能已发送到背景,而ASyncTask正在做繁重的工作。 –
您可以使用universalImageLoader
库以高效的方式下载图像。
看到这how to use universal Image loader for downloading images
您的需求还有一个解决办法是Volley Library
我会建议使用现有的库,例如Picasso(以方)或Volley(由谷歌)。
毕加索是特别容易实现,而且会很好地工作,你的目的,并且是一样简单:为库通吃的这一点
Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);
你不会有AsyncTasks或AsyncTaskLoaders担心自己将你的双手图像缓存在内存和磁盘上。
如果你坚持建立自己的解决方案,我建议对相关问题东张西望,因为有很多事情要牢记:
你也可以使用Volley。 –
毕加索(图片加载库)将有我的投票 - https://github.com/square/picasso –