为什么内存在Xcode中泄漏

时间:2011-11-30 20:12:53

标签: iphone xcode memory memory-leaks

我不知道为什么这会在xcode 4.2中造成内存泄漏。既然我没有alloc eventArraySave,我是否需要发布它?我以为这会被添加到autorelease池中。

//Unarchive in to array
NSMutableArray *eventArraySave = [NSKeyedUnarchiver unarchiveObjectWithFile:savedfilePathName];

我是否需要将其释放或上述代码中有任何错误。还要强调我没有alloc ed eventArraySaveinit ed eventArraySave。在此先感谢:)

3 个答案:

答案 0 :(得分:2)

您不应该发布eventArraySave。它将以净保留计数0(自动释放后)返回给您。如果你看到来自这一行的泄漏,那么这表明你在其他地方过度保留它,或者你可能过度保留eventArraySave中包含的某个对象(因为这是该对象所在的位置)也分配了。)

泄漏工具不会告诉您错误的位置。它们告诉你在哪里分配了后来泄露的内存。

答案 1 :(得分:0)

您发布的代码没有任何问题。

答案 2 :(得分:0)

泄漏只是告诉你内存是在那里创建的,但不会在以后发布。

你现在的任务是找出应该释放它的内容,但事实并非如此。