内存警告使用ARC崩溃

时间:2013-09-04 01:45:24

标签: ios memory memory-management memory-leaks automatic-ref-counting

我正在使用ARC,应用程序崩溃说收到内存警告。我用过苹果乐器并得到了

http://tinypic.com/view.php?pic=21kedxt&s= 5

看起来我没有任何泄漏,但我找不到哪里出错了。崩溃与内存和应有的弧有关,我不能使用release和任何类型。这是我第一次使用arc处理内存使用情况。有没有我可以调试这个,因为我处理这个近两个月。我的代码在我的git hub上,所以如果你看一下它会很有帮助。你可以找到它here.

我现在感到困惑,因为我需要将用户每次捕获图像的UIImage时刻设置为nil。它看起来像是在没有释放旧图像的情况下再次创建实例。我怎么能清除这些东西。我真的需要帮助。感谢。

1 个答案:

答案 0 :(得分:0)

最可能的解决方案是在代码中添加一些@autoreleasepool {}语句。如果你有一个分配大量内存的循环,那么在你的应用程序返回到它的主运行循环之前,内存可能不会被释放。

您需要更改多次迭代的循环,看起来像这样:

for (id value in largeArray) {
    @autoreleasepool {
        //code that creates autoreleased objects
    }
}

在上面的代码块中,每次循环结束时,将释放在池中创建的所有自动释放的对象,并释放它们的内存以供使用。

可以在this question

中找到更多信息