在android中使用Glide预取图像

在android中使用Glide预取图像,android,android-glide,Android,Android Glide,我有一个活动,它将使用fadein淡出动画在同一个imageview中逐个加载图像。为了提供良好的用户体验,我希望以异步方式预取图像,并以恒定流显示它们。我想使用glide实现上述行为。但我很困惑,因为我在互联网上找到了两种不同的预取(缓存)图像的方法。首先是使用Glide的.preload()方法: 第二种是使用Glide的.downloadOnly(int,int)方法: 我有两个问题: preload和downloaddonly之间有什么区别?哪一个最适合我的情况 如何知道我的所有图像都已

我有一个活动,它将使用fadein淡出动画在同一个imageview中逐个加载图像。为了提供良好的用户体验,我希望以异步方式预取图像,并以恒定流显示它们。我想使用glide实现上述行为。但我很困惑,因为我在互联网上找到了两种不同的预取(缓存)图像的方法。首先是使用Glide的.preload()方法:

第二种是使用Glide的.downloadOnly(int,int)方法:

我有两个问题:

  • preload
    downloaddonly
    之间有什么区别?哪一个最适合我的情况
  • 如何知道我的所有图像都已预取,并且我可以使用上述(最佳)方法之一继续显示图像的过程

  • 请参见此处的Glide文档:

    搜索类“DrawableTypeRequest”,该类同时具有以下方法preload()和downloadOnly()

    正如文件所说:

    预加载()

    使用Target.SIZE_ORIGINAL作为>目标宽度和高度,将资源预加载到缓存中。相当于调用preload(int,int),使用>>Target.SIZE\u ORIGINAL作为宽度和高度

    仅下载(整数宽度、整数高度)

    将原始未修改的数据加载到缓存中,并返回可用于检索包含数据的缓存文件的Future>

    我建议预加载()对您合适

    Glide.with(this)
    .load(url)
    .diskCacheStrategy(DiskCacheStrategy.SOURCE)
    .preload()
    
    Glide.with(applicationContext)
    .load(yourUrl)
    .downloadOnly(500, 500);