使用KissXML,iOS XML Parser内存泄漏

时间:2012-09-11 08:21:29

标签: ios memory-leaks xml-parsing kissxml

我已经对这个记忆问题感到困惑了好几天。在我的iOS项目中,我使用KissXML作为XML解析器。我的XML文件非常庞大(15M)。现在,记忆问题来了:

这是我的代码

http连接完成部分:

NSData *copyData = [NSData dataWithData:self.httpData];  //self.httpData-recieved from http connection.
dispatch_async(globalQueue,^{  //globalQueue-GCD global queue.
    [AIDXMLParser universalParser:copyData];  //Class method for XML Parser.
});

在API中:AIDXMLParser.m的UniversalParser

DDXMLDocument *doc = [[DDXMLDocument alloc] initWithData:xmlData options:0 error:nil];
[doc release];

当我运行我的应用程序时。我使用[Activity Monitor]来捕获我的内存使用情况。

  

之前:[实际内存大小]为40.7M

     

之后:[实际内存大小为63.1M

增加的记忆力(63.1M-40.7M)永远留在那里。

一切都运作良好。我尝试过使用TBXML而不是KissXML。使用Instruments-Profile / Analyze进行测试,但仍然没有错误或没有警告。 我不知道我错在哪里。

还有其他人面临同样的问题吗?

1 个答案:

答案 0 :(得分:1)

可能是因为NSData的大小,尝试拆分XML并多次进行解析。

我使用10MB +的JSON来解决同样的问题。