如何在android Volley/Picasso/Glide中更快地下载图像?

如何在android Volley/Picasso/Glide中更快地下载图像?,android,image,android-volley,picasso,android-glide,Android,Image,Android Volley,Picasso,Android Glide,我正在开发一个项目,其中我必须从服务器下载一些图像。我试过这三种方法 毕加索: Picasso.with(context).load(image).into(holder.image); 滑翔: Glide.with(context).load(image).into(holder.image); 截击: imageLoader.get(image, new ImageLoader.ImageListener() { @Override public void

我正在开发一个项目,其中我必须从服务器下载一些图像。我试过这三种方法

毕加索:

Picasso.with(context).load(image).into(holder.image);
滑翔:

Glide.with(context).load(image).into(holder.image);
截击:

imageLoader.get(image, new ImageLoader.ImageListener() {
        @Override
        public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {
            holder.image.setImageBitmap(response.getBitmap());
        }

        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });
毫无疑问,所有这些方法在快速互联网连接中都非常有效。 但在2G中,下载20kb-25kb的图像需要花费太多时间。 我也尝试过图像大小调整和一切。但这并没有得到好的结果。
我见过像Amazon、Flipkart或任何电子商务应用程序这样的应用程序,这些应用程序在缓慢的互联网连接中运行得非常好,并且能够以良好的分辨率加载所有图像。所以,我想要一些关于这些问题的专家解决方案。

Glide,毕加索只是从服务器上获取图像并显示出来。如果网络速度较低,则加载图像所需的时间较长。您需要在服务器端重新调整图像的大小。使用格式而不是JPEG或PNG将有助于在不降低质量的情况下缩小尺寸


注意:您可以使用来轻松完成此任务

如果您必须在某些服务器上下载单个图像,请单击并将其保存到SD卡。Android的DownLoadManager类是解决这一问题的完美而简单的解决方案。或者,如果您想在应用程序中从web显示一堆图像,那么Universal image Loader与Volley和毕加索一样有用。为了更快地下载图像,您必须减小图像的大小。在服务器端使用WebP格式,而不是Jpeg或PNG格式

如果不需要缓存,直接从网络下载,则毕加索是一个不错的选择。如果需要缓存,则对图像(或大型图像)使用AQuery。AQuery中有多种缓存选项。

谢谢。我试试这个。我也有电子商务项目。现在,在这个项目中只有20张图片,所以我很容易改变所有这些图片的格式。但是,在电子商务中该做什么呢?它有大约1个lac产品。我不能改变所有这些图像的格式。如果你第一次使用这个库,你可以尝试一下。下载图像需要时间,之后它自动加载图像速度更快,因为它从缓存中显示图像检查你可以尝试frescoIf如果你比较这三个库,我认为Glide是最好的。Glide支持获取、解码和显示视频静像、图像和动画GIF。至少比毕加索快。