在内存中滑动缓存屏幕外图像



我只想在内存中加载和缓存图像,而不是将它们传递到视图,然后当我需要将它们加载到UI上时,如果它们存在于内存中,则从内存缓存中获取它们。

我试过了:

Glide.with().load(uri).into(new SimpleTarget<GlideDrawable>(WIDTH,HEIGHT) 
{
     @Override
     public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {
    //left empty
    }
  }
);

但当稍后我调用在ImageView中加载该uri时,它仍然会从路径而不是内存加载它。

有没有其他方法可以在不将图像加载到UI的情况下将其缓存在内存中?

关于如何在后台线程上缓存图像的文档可以在这里找到。

以下是页面中的一些示例代码,显示了如何在不在UI中显示图像的情况下将文件下载到缓存:

FutureTarget<File> future = Glide.with(applicationContext)
.load(yourUrl)
.downloadOnly(500, 500);
// Can be omitted if you only want to have the data cached (same goes for the "future" instance variable
File cacheFile = future.get();

但是,请确保已配置Glide,以便启用缓存:https://github.com/bumptech/glide/wiki/Configuration

实际上,我在API中找到了预加载方法,正是为了这个目的:预加载API更改日志

最新更新