Glide在显示大图像之前需要很长时间

时间:2017-01-18 15:43:21

标签: android android-glide

我正在尝试在RecyclerView中将图像(每个大约5mb)加载到大小为45x45 dp的Activity中。即使原始图像很大,但由于目标ImageView很小,Glide不会加载较小的版本吗?因此,我希望Glide能够在几秒钟内以平均互联网速度加载图像。但是,它需要20秒。有什么问题?

图像存储在firebase存储中。

滑翔代码:

ImageView

4 个答案:

答案 0 :(得分:0)

Glide需要先从互联网上加载完整图片,然后再调整大小。所以第一次下载需要很长时间。之后,如果激活了缓存,它可以使用它创建的小图像。

答案 1 :(得分:0)

如果您不想加载较小的文件,我建议使用Gif-drawable库将Glide中的大图像加载到GifDrawable(作为ImageView)。

它可以非常快速地加载超过100MB的文件。它也适用于普通的JPG,PNG和BMP。如果这些是GIF,它会毫无延迟或冻结。

  

如果android:src和/或android:background声明的drawable是GIF文件,那么它们将被自动识别为GifDrawables并设置动画。如果给定的drawable不是GIF,那么提到的Views就像普通的ImageView和ImageButton一样。

答案 2 :(得分:0)

Glide首先下载图像,然后您有方法将图像检索为位图以调整图像大小和压缩图像。但是,这不会解决您的问题。可能有两种解决方案:

  1. 在服务器中保留较小尺寸的图像。
  2. 使用文件下载程序库,它有助于以队列形式串行和异步下载图像,这有助于快速下载文件。 FileDownloader库是一个很好的选择。

答案 3 :(得分:0)

使用“在Glide中覆盖”可更快地加载图像。