Glide 在内存中缓存离屏图像
Glide caching off screen images in memory
我只想在内存中加载和缓存图像,而不是将它们传递给视图,稍后当我需要将它们加载到 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?
可以找到有关如何在后台线程上缓存图像的文档 here。
下面是页面中的一些示例代码,显示了如何将文件下载到缓存,而不显示 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 中找到了用于此目的的预加载方法:
preload API change log
我只想在内存中加载和缓存图像,而不是将它们传递给视图,稍后当我需要将它们加载到 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?
可以找到有关如何在后台线程上缓存图像的文档 here。
下面是页面中的一些示例代码,显示了如何将文件下载到缓存,而不显示 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 中找到了用于此目的的预加载方法: preload API change log