我正在创建一个应用程序,它将从Web服务中获取图片资源和文本。我选择了伟大的AFNetworking的UIImageView + AFNetworking类别来处理图像下载的东西。
然而,我正面临着记忆问题。我使用仪器的分配工具,发现每次加载更多图像时,内存分配总会增加,大小为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];
任何人都能对内存问题有所了解吗?一旦内存被分配,它真的很头疼,即使我清除了整个图像视图,它们也永远不会被清除。一段时间后,我的应用程序将占用仪器的真实内存使用窗口超过100MB。
任何帮助将不胜感激!!在此先感谢!!
答案 0 :(得分:1)