【发布时间】:2011-09-21 10:59:35
【问题描述】:
如果我遇到内存泄漏问题,我将不胜感激。
我有一个数组中的数据,我已使用 NSKeyedArchiver 存档。我后来取消存档它。从功能的角度来看,它运行良好,但是当我运行 Instruments for Memory Leaks 时,我在取消归档时会出现内存泄漏。
这是代码:
NSArray *arrayToLoad = [[NSArray alloc] initWithArray:[NSKeyedUnarchiver unarchiveObjectWithFile:path]];
ballPath = [arrayToLoad copy];
[arrayToLoad release];
其中 ballPath 是一个 NSArray。
Instruments 表明 100% 的泄漏与上面代码中的第一行有关。我显然错过了一些东西,但无法找出什么。我认为 [NSKeyedUnarchiver unarchiveObjectWithFile:path] 是自动释放的,而 arrayToLoad 是释放的,所以我迷路了。
感谢任何建议。
【问题讨论】:
-
你用完
ballPath了吗? -
你对 ballPath 做了什么 - 它的保留计数应该在该代码的末尾为 1。
标签: objective-c ipad memory-leaks nsarray nskeyedarchiver