在Android

时间:2016-05-08 14:43:17

标签: android android-glide

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

Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.preload()

其次是使用Glide的 .downloadOnly(int,int)方法:

Glide.with(applicationContext)
.load(yourUrl)
.downloadOnly(500, 500);

我有两个问题:

  1. preloaddownloadOnly之间的区别是什么?我最适合哪种情况?
  2. 如何知道我的所有图像都已预先获取,我可以继续使用上述(最佳方法)方法之一显示图像?

1 个答案:

答案 0 :(得分:0)

请在此处查看Glide文档:

Glide Documentation

搜索类“DrawableTypeRequest”,它包含这两个方法preload()和downloadOnly()。

正如文件所说:

<强>预加载()

  

使用Target.SIZE_ORIGINAL将资源预加载到缓存中作为&gt;目标宽度和高度。相当于使用&gt;调用preload(int,int) &GT; Target.SIZE_ORIGINAL作为宽度和高度。

downloadOnly(int width,int height)

  

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

我建议preload()对你没问题。