我正在制作一个应用程序,它将从网络服务中获取图片资源和文本。我选择了很棒的 AFNetworking 的 UIImageView+AFNetworking 类别来处理图像下载的东西。
但是,我面临着内存问题。我使用了Instruments的分配工具,发现每次加载更多图像时,内存分配总会增加,大小为 1-2 MB。我追查到源代码,原来是在AFNetworking的代码里。
确切的代码行是:
- (void)connectionDidFinishLoading:(NSURLConnection *)__unused connection {
self.responseData = [self.outputStream propertyForKey:NSStreamDataWrittenToMemoryStreamKey];
[self.outputStream close];
[self finish];
self.connection = nil;
}
这将占用 99.6% 的内存分配。
我在项目中使用 ARC,在 UITableView 中显示 UIImageViews 并像以下代码一样配置单元格:
[self.imageView setImageWithURLRequest:request
placeholderImage:nil
success:successBlock
failure:failBlock];
任何人都可以提供一些关于内存问题的想法吗?真的很头疼,因为一旦分配了内存,即使我清除了整个图像视图,它们也永远不会被清除。过了一会儿,我的应用程序将从Instruments的Real Memory Usage窗口占用超过 100MB 。
任何帮助将不胜感激!!提前致谢!!