【问题标题】:Loading images from firebase is slow从 firebase 加载图像很慢
【发布时间】:2017-05-01 16:11:10
【问题描述】:

每当我登录我的应用程序时。图像加载缓慢。加载通常需要很长时间。 我使用Glide 作为我的应用程序中加载图像的库。

 Glide.with(photoImageView.getContext())
          .load(message.getPhotoUrl())
          .into(photoImageView);

上面的代码用于将图像加载到我的 UI 上的ImageView,因为您可以看到完整的图像需要很长时间才能加载。

为了更快地从 Firebase 加载图片,可以采取哪些措施 存储?

【问题讨论】:

  • Firebase SDK for Cloud Storage 没有人为延迟。如果您希望图像加载得更快:缩小它们,或者使用更快的连接。
  • 我正在使用全高速 wifi 连接,我想这不是问题。我会尝试使 m 图像更小,但不是另一种从 firebase 更快地获取图像的方法吗?
  • 这取决于导致减速的原因。您需要调查时间的去向:延迟、带宽、本地处理等。根据您当前的描述,很难说出具体的内容。
  • 也许有更好的 ISP?

标签: android xml firebase firebase-storage


【解决方案1】:

考虑修改磁盘缓存类型。

.skipMemoryCache( false ) 专门告诉 Glide 不要跳过内存缓存,从而加快加载速度。此外,您可以使用 .diskCacheStrategy() 方法更改 Glide 的磁盘缓存行为。

  • DiskCacheStrategy.NONE 不缓存任何内容

    DiskCacheStrategy.SOURCE 仅缓存原始的全分辨率 图片。在我们上面的示例中,这将是 1000x1000 像素的一个

    DiskCacheStrategy.RESULT 只缓存最终图像,减少后 分辨率(以及可能的转换)(默认行为)

    DiskCacheStrategy.ALL 缓存图像的所有版本

【讨论】:

  • 你在用base64吗
  • 不确定是什么意思。我是 android 开发的新手。
  • 你的图片是如何编码的,或者你的图片是如何发送到firebase进行存储的,你遵循的方法和程序是什么,请在这里登记
  • 这就是我在 Firebase Storage 中存储图像的方式 - 请参阅 MainActivity 和使用的 MessageAdapter 是这样的。
  • @PC。 HD你找到解决方案了吗?
【解决方案2】:

您也可以尝试使用内置的 FIREBASE 图像加载器,而不是从 url 加载

StorageReference storageReference = //make a Reference to your Image
Glide.with(context)
       .using(new FirebaseImageLoader())
       .load(storageReference)
       .into(ImageView);

【讨论】:

    【解决方案3】:

    您可以在应用启动时使用 Glide.preload() 或使用内置的 Glide 缓存预加载图像

    【讨论】:

      【解决方案4】:

      Krish 的帮助下(在 StackOverflow 上)。他建议我更改此代码

      Glide.with(photoImageView.getContext())
        .load(message.getPhotoUrl())
        .into(photoImageView);
      

      到这个代码。它与以下代码完美配合。

      Glide.with(getContext())
        .load(message.getPhotoUrl())
        .asBitmap()
        .centerCrop()
        .into(new SimpleTarget < Bitmap > () {
          @Override
          public void onResourceReady(Bitmap resource, GlideAnimation << ? super Bitmap > glideAnimation) {
            photoImageView.setImageBitmap(resource);
          }
        });
      

      【讨论】:

        【解决方案5】:

        您也可以考虑使用 Picasso,恕我直言,它的加载速度比 Glide 快。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-10-17
          • 2021-11-13
          • 2017-02-02
          • 1970-01-01
          • 1970-01-01
          • 2016-06-01
          • 2013-08-25
          • 1970-01-01
          相关资源
          最近更新 更多