我一直在使用RSS阅读器代码示例,但在解析器中发现了泄漏。
这是代码......
-(BOOL)fetchAndParseRss{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
//To suppress the leak in NSXMLParser
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
NSURL *url = [NSURL URLWithString:@"http://www.bnp.org.uk/?q=rss.xml"];
BOOL success = NO;
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[parser setDelegate:self];
[parser setShouldProcessNamespaces:YES];
[parser setShouldReportNamespacePrefixes:YES];
[parser setShouldResolveExternalEntities:NO];
success = [parser parse];
[parser release];
[pool drain];
return success;
}
你能帮忙吗?
答案 0 :(得分:1)
NSXMLParser有漏洞,是Apple的一个漏洞。 Bug#6469143。我不认为他们已经在iOS4中解决了。 (至少不在模拟器中) 请参阅:NSXMLParser Leaking