在android中从网络下载图像数据的最佳方法是啥

Posted

技术标签:

【中文标题】在android中从网络下载图像数据的最佳方法是啥【英文标题】:what is the best to download images data from network in android在android中从网络下载图像数据的最佳方法是什么 【发布时间】:2016-09-01 02:39:00 【问题描述】:

我每隔一段时间从服务器下载(预蚀刻)图像

所以我想知道下载图片的最佳方式是什么

异步任务

服务

意向服务

请帮忙

【问题讨论】:

你可以试试毕加索图书馆square.github.io/picasso 我认为它没有预取数据 【参考方案1】:

案例 1:如果您必须从 Internet 下载很少的图像(例如活动中的一两个),则使用 Asynctask。

案例2:如果你需要为ListView项目下载很多图片,你必须在一个专门的后台线程中使用android中的HandlerThread、Handler、message和Looper来实现。避免在这里使用服务。此外,您必须实现图像缓存,因为您不想在会话中多次下载相同的图像。

建议:如果是第二种情况,请不要自行实施上述内容。节省您的时间,并使用数百万 Android 应用使用的一些出色、高效且快速的库。

你可以使用:

毕加索 by Square 滑翔 凌空抽射

编辑:如何使用毕加索下载图片。

上面提到的所有库都可以很好地做到这一点。我正在与毕加索分享解决方案。

    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) 

        
    );

希望这会有所帮助。如果还有什么问题,欢迎评论。

【讨论】:

我必须下载更多图像,图像尺寸会很大,基本上我想预取图像,而这些库不是预取图像 预取图片是什么意思?您的意思是下载它们,而不是在下载时显示在 ImageView 中? 如果我使用 picasso 或任何其他库从服务中下载数据,那么是否可以下载?我问这个问题是因为我听说必须从主线程调用图像加载器...... 你也可以这样做。请在这里查看问题***.com/questions/27239203/…

以上是关于在android中从网络下载图像数据的最佳方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

在 Perl 中从数组中删除值的最佳方法是啥?

在 asp.net-mvc 中从服务器读取文本文件的最佳方法是啥

在 SQL 中从另一个表更新一个表的最佳方法是啥?

从 Xamarin ios 中的 url 下载图像的最佳方法是啥?

在 javascript 中从 .NET/Razor 解析本地化数字的最佳方法是啥?

在 Android 中从云源存储和读取数据的最佳方法?