使用 Glide 将图片永久保存在缓存中
Posted
技术标签:
【中文标题】使用 Glide 将图片永久保存在缓存中【英文标题】:save the pictures in the cache forever with Glide 【发布时间】:2021-04-18 02:42:33 【问题描述】:我想尽可能长时间地保存缓存中的图片。您可以建议一个代码来执行此过程。谢谢。
【问题讨论】:
【参考方案1】:Glide 默认使用内存和磁盘缓存来避免不必要的网络请求,并提供调整内存和磁盘缓存行为的方法:
GlideApp
.with(context)
.load(//...)
.skipMemoryCache(false)
.into(imageView);
Glide 默认会将所有图片资源放入内存缓存中。因此,不需要特定的调用 .skipMemoryCache( false )。如果您停用内存缓存,请求图像仍将存储在设备的磁盘存储中。
val requestOptions = RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL)
Glide.with(context).load(url).apply(requestOptions).into(imageView)
【讨论】:
谢谢你的回答我用这个代码是这个代码正确 Glide.with(context) .load(DataCoupon.get(position).getImage_product()) .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC) .into( holder.ImageProduct); 这可能是正确的,取决于您的策略。如果答案对您有用,请接受并投票。【参考方案2】:试试这个,但我不确定
Glide.with(context)
.load(constant.BASE_URL+"images/"+data.getPicture())
.apply(new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.dontAnimate()
.centerCrop()
.dontTransform())
.into(holder.imageView);
【讨论】:
谢谢你的回答我用这个代码是这个代码正确 Glide.with(context) .load(DataCoupon.get(position).getImage_product()) .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC) .into( holder.ImageProduct);以上是关于使用 Glide 将图片永久保存在缓存中的主要内容,如果未能解决你的问题,请参考以下文章