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

chi*_*tel 6 android image android-volley picasso android-glide

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

毕加索:

Picasso.with(context).load(image).into(holder.image);
Run Code Online (Sandbox Code Playgroud)

滑行:

Glide.with(context).load(image).into(holder.image);
Run Code Online (Sandbox Code Playgroud)

乱射:

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) {

        }
    });
Run Code Online (Sandbox Code Playgroud)

毫无疑问,所有这些方法在快速Internet连接中都能很好地工作.但在2G下载20kb - 25kb的图像需要太多时间.我也试过图像调整大小和一切.但是没有从中得到好结果.我看到像亚马逊或Flipkart这样的应用程序或任何电子商务应用程序这些应用程序在慢速互联网连接中运行良好,并且还能以良好的分辨率下载所有图像.所以,我想要一些关于这些问题的专家解决方案.

nul*_*ter 2

Glide、Picasso 只是从服务器获取图像并显示它。如果您的网络速度较低,则加载图像需要更长的时间。您需要在服务器端重新调整图像的大小。使用WebP格式而不是 JPEG 或 PNG 将有助于减小尺寸而不降低质量。

注意:您可以使用Thumbor轻松完成此操作。