我有一个活动,它将使用淡入淡出动画逐个加载图像到同一ImageView中。为了提供良好的用户体验,我想异步预取这些图像并以恒定流显示它们。我想使用Glide来实现上述行为。但我很困惑,因为在互联网上找到了两种不同的预取(缓存)图像的方法。第一种是使用Glide的 .preload()方法:
Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.preload()
第二种方法是使用Glide的.downloadOnly(int, int)方法:
Glide.with(applicationContext)
.load(yourUrl)
.downloadOnly(500, 500);
我有两个问题:
preload
和downloadOnly
之间的区别是什么?哪一个最适合我的情况?- 如何知道我所有的图片都已经被预取并且可以使用上述(最佳方法之一)之一来显示图片?