我需要知道 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/

10-10 08:27