我正在使用UIImageView+AFNetworking
下载并显示UITableView
中网址的图片。一切都很好,我的问题是围绕缓存元素和&使用此调用实现的分配。
在使用工具跟踪内存时,我看到当我滚动我的最大内存分配时,快速变为此VM: Foundation
,看起来好像是以某种方式缓存我正在下载的图像。
对于用户来说,当查看相同的图像但我从未看到它释放内存时,这是非常好的。 (我还没能把它发送到内存警告)。我只是想确保在需要时这个分配将在需要时释放。以下是VM : Foundation
我是否需要监视此内容并在需要时释放缓存内存以确保顺畅滚动?或者还有什么我应该看的,以确保妥善处理?
以下是我在cellForRowAtIndexPath
呼叫setImageWithURLRequest
中的图片的方式。任何建议或改进将不胜感激。
NSString *imageURL = [NSString stringWithFormat:@"https://IMAGE-URL/%@",imageURL];
__weak MainTableViewCell *weakCell = cell;
NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString:imageURL]];
[cell.postImage setImageWithURLRequest:urlRequest placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
MainTableViewCell *strongCell = weakCell;
strongCell.postImage.image = image;
[UIView animateWithDuration:.15 animations:^{
strongCell.postImage.alpha = 1;
}];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
}];
答案 0 :(得分:3)