为什么SDWebImage导致diskCache而不是memoryCache?

时间:2017-07-20 06:58:17

标签: objective-c

我使用SDWebImage加载图片,但不是memoryCache,只是diskCache。 我是这样做的:

[imgView sd_setImageWithURL:[NSURL URLWithString:urlStr]];
Bool isINMemoryCache = ([[SDImageCache sharedImageCache] 
    imageFromMemoryCacheForKey:urlStr] != nil);

当您再次加载并获得isINMemoryCache时,您将始终获得NO。这是为什么?

1 个答案:

答案 0 :(得分:0)

SDWebImage将图像异步存储到内存和磁盘缓存中。

请参阅此代码:SDWebImage Cache

  1. 当您的应用首次调用图片网址时,isINMemoryCache将为NO。
  2. 如果您的应用下次调用相同的图片网址,则isMemoryCache将为YES。如果您调用相同的会话,则会从内存中检索它。
  3. 如果您运行应用程序,它将检查memoryCache,如果没有检查diskCache,如果没有,则会下载。