使用 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];
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];