我有一个UICollectionViewCell,它有一个UIImageView abd我正在使用AFNetworking UIImageView类来帮我加载图像。我已经分析了我的应用程序,似乎内存峰值超过顶部,它只是在通过分配工具下的仪器进行分析后不断增加和增加。
我不确定这里发生了什么以及如何解决这个问题。单元格一直在被重用,但只是这些图像可能不是从缓存中清除的。以下是我如何使用它的一些代码,它非常简单:
NSURLRequest *imageURLRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:imageURLString] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];
[self.imageView_ setImageWithURLRequest:imageURLRequest placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
weakSelf.imageView_.image = image;
weakSelf.imageView_.alpha = 0.0;
[UIView animateWithDuration:0.3 animations:^{
weakSelf.imageView_.alpha = 1.0;
}];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
}];
如果我删除此代码以下载图像,则内存占用空间会更小。关于可能导致这种情况的任何想法?
答案 0 :(得分:1)
尝试将其包装在autoreleasepool中并检查您的内存使用情况
@autoreleasepool {
// Code that creates autoreleased objects.
}