【发布时间】:2016-09-01 02:39:00
【问题描述】:
我每隔一段时间从服务器下载(预蚀刻)图像
所以我想知道下载图片的最佳方式是什么
异步任务
服务
意向服务
请帮忙
【问题讨论】:
-
你可以试试毕加索图书馆square.github.io/picasso
-
我认为它没有预取数据
标签: android service android-asynctask intentservice
我每隔一段时间从服务器下载(预蚀刻)图像
所以我想知道下载图片的最佳方式是什么
异步任务
服务
意向服务
请帮忙
【问题讨论】:
标签: android service android-asynctask intentservice
案例 1:如果您必须从 Internet 下载很少的图像(例如活动中的一两个),则使用 Asynctask。
案例2:如果你需要为ListView项目下载很多图片,你必须在一个专门的后台线程中使用Android中的HandlerThread、Handler、message和Looper来实现。避免在这里使用服务。此外,您必须实现图像缓存,因为您不想在会话中多次下载相同的图像。
建议:如果是第二种情况,请不要自行实施上述内容。节省您的时间,并使用数百万 Android 应用使用的一些出色、高效且快速的库。
你可以使用:
编辑:如何使用毕加索下载图片。
上面提到的所有库都可以很好地做到这一点。我正在与毕加索分享解决方案。
Picasso.with(mContext).load("url").into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom loadedFrom) {
//save the bitmap into permanent storage or do whatever you want like showing in some ImageView etc.
}
@Override
public void onBitmapFailed(Drawable drawable) {
}
@Override
public void onPrepareLoad(Drawable drawable) {
}
});
希望这会有所帮助。如果还有什么问题,欢迎评论。
【讨论】: