我需要知道 URI 的缓存版本将在 fresco 缓存中的磁盘上保留多长时间?
最佳答案
正如 http://frescolib.org/docs/caching.html#trimming-the-caches 所写:
因此,如果您在配置时未指定 DiskTrimmable 或 MemoryTrimmable,您的 ImagePipeline 将使用默认的 DiskTrimmable、MemoryTrimmable。因此,在查找源中的默认值后,我发现了这一点:
private static DiskCacheConfig getDefaultMainDiskCacheConfig(final Context context) {
return DiskCacheConfig.newBuilder()
.setBaseDirectoryPathSupplier(
new Supplier<File>() {
@Override
public File get() {
return context.getApplicationContext().getCacheDir();
}
})
.setBaseDirectoryName("image_cache")
.setMaxCacheSize(40 * ByteConstants.MB)
.setMaxCacheSizeOnLowDiskSpace(10 * ByteConstants.MB)
.setMaxCacheSizeOnVeryLowDiskSpace(2 * ByteConstants.MB)
.build();
}
所以结论是:当内存已满时(40 ByteConstants.MB 或 10 ByteConstants.MB 或 2 ByteConstants.MB) - Fresco 将删除旧记录并写入新记录(图像)。
也许 Fresco 使用 this method 。
关于android - 何时从 fresco android 中的磁盘中删除图像缓存?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32781335/