在覆盖内容后,NSDictionary内存泄漏

时间:2012-05-10 16:08:13

标签: ipad memory

尝试追踪内存泄漏。我将它追溯到一个合成的NSDictionary,用于存储在启动时从documents文件夹读入的plist数据。第一次运行,没有泄漏。但是后来我在应用程序中进行了一次Web调用,覆盖了NSDictonary对象,这就是我看到泄漏的地方。

更新效果很好,但在乐器方面,我发现在覆盖NSDictionary时会出现漏洞。

在将合成的NSDictionary设置为新内容之前,我尝试过标准版本和nil。不知道下一步该尝试什么。

通常会在这里找到我正在寻找的答案。但是这些让我很难过。

NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];


Hubplist = (NSDictionary *)[NSPropertyListSerialization
                                      propertyListWithData:plistXML
                                      options:NSPropertyListImmutable
                                      format:&format
                                      error:NULL];

1 个答案:

答案 0 :(得分:0)

如果您在覆盖它之前需要在任何地方保留或分配Hubplist。

NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];

[Hubplist release];
Hubplist = nil;
Hubplist = (NSDictionary *)[NSPropertyListSerialization
                                      propertyListWithData:plistXML
                                      options:NSPropertyListImmutable
                                      format:&format
                                      error:NULL];
// Also make sure to retain it if needed
[Hubplist retain];