在使用TBXML和ARC解析URL中的大型xml文件时出现内存泄露
问题描述:
我正在使用TBXML解析URL中的XML文件,并且我已经打开了ARC。但我得到了以下代码的内存泄漏:在使用TBXML和ARC解析URL中的大型xml文件时出现内存泄露
- (void)readXmlFromUrl:(NSString*)url
{
NSURL *aUrl = [NSURL URLWithString:url];
NSData *data = [[NSData alloc] initWithContentsOfURL:aUrl];
TBXML *tbxml = [[TBXML alloc] initWithXMLData:data];
// data = nil;
// NSLog(@"Reading from %@", url);
// If TBXML found a root node, process element and iterate all children
if (tbxml.rootXMLElement) {
NSLog(@"Root Found");
[self traverseElement:tbxml.rootXMLElement];
}
// data = nil;
// aUrl = nil;
// tbxml = nil;
// NSLog(@"Retain count for TBXML %d", tbxml.retainCount);
}
我附加了内存泄漏的图像。 在此先感谢
答
不是泄漏,但可能是静态分析器中的错误。
答
我的答案是假的没有看到你正在使用ARC
+0
他使用ARC,因此不需要显式autorelease。 –
+1
啊是的,为什么弧会显示这样的警告 - ARC ==不是我的工作要发布。采取点。很高兴我不使用ARC。 –
你确定你正在运行的静态分析时ARC建筑? ARC可能只在某些配置中打开,但分析使用不同的配置。 –
我在创建项目时将ARC打开 – Avigit