【问题标题】:How to download image faster in android Volley/Picasso/Glide any other?如何在 android Volley/Picasso/Glide 中更快地下载图像?
【发布时间】:2015-12-29 05:32:50
【问题描述】:

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

毕加索:

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

        }
    });

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

【问题讨论】:

  • 你可以试试fresco
  • 如果你第一次使用这个库,它会花时间下载图片,之后它会自动加载图片,因为它会从缓存中显示图片
  • check stackoverflow.com/questions/29363321/…你可以试试fresco
  • 如果你比较这三个库,我认为 Glide 是最好的。 Glide 支持获取、解码和显示视频静止图像、图像和动画 GIF。而且至少比毕加索要快。

标签: android image android-volley picasso android-glide


【解决方案1】:

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

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

【讨论】:

  • 谢谢。我会试试这个。我也有电子商务项目。现在,在这个项目中只有 20 张图片,所以我很容易改变所有这些的格式。但是,它有大约 1 lac 产品在电子商务中做什么。我无法更改所有这些图像的格式。那该怎么办呢。
【解决方案2】:

如果您必须通过单击下载单个图像并将其保存到 sdcard 。他们 Android 的 DownLoadManager 类是完美且简单的解决方案。或者,如果您想从 Web 的应用程序中显示一堆图像,那么 Universal Image Loader 与 Volley 和 Picasso 一样有用。为了更快地下载图像,您必须减小它们的大小。在服务器端使用 WebP 格式而不是 Jpeg 或 PNG。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2016-07-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2023-01-29
      • 2019-09-18
      • 1970-01-01
      • 2017-02-06
      • 1970-01-01
      相关资源
      最近更新 更多