使用 AFNetworking 进行图像缓存

Image Caching With AFNetworking

AFNetworking 的缓存机制对我不起作用,我有一张 500ko 的大尺寸图像,我想缓存它。但是每次我关闭应用程序并再次打开它时,我都必须等待 20 秒才能加载图像,所以缓存系统在这里不起作用是代码:

我试过了:

[imageView setImageWithURL:[NSURL URLWithString:imageURL]
      placeholderImage:[UIImage imageNamed:@"placeholder"]];

然后尝试:

NSURLRequest *imageRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:imageURL]
                                          cachePolicy:NSURLRequestReturnCacheDataElseLoad
                                      timeoutInterval:60];

[imageView setImageWithURLRequest:imageRequest
             placeholderImage:[UIImage imageNamed:@"placeholder"]
                      success:nil
                      failure:nil];

NSURLCache 默认情况下不会写入磁盘,因此我们需要在应用委托中声明一个共享的 NSURLCache:

NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:2 * 1024 * 1024
                                          diskCapacity:100 * 1024 * 1024
                                          diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];

Reference