我正在使用ARC,应用程序崩溃说收到内存警告。我用过苹果乐器并得到了
5
看起来我没有任何泄漏,但我找不到哪里出错了。崩溃与内存和应有的弧有关,我不能使用release和任何类型。这是我第一次使用arc处理内存使用情况。有没有我可以调试这个,因为我处理这个近两个月。我的代码在我的git hub上,所以如果你看一下它会很有帮助。你可以找到它here.
我现在感到困惑,因为我需要将用户每次捕获图像的UIImage
时刻设置为nil
。它看起来像是在没有释放旧图像的情况下再次创建实例。我怎么能清除这些东西。我真的需要帮助。感谢。
答案 0 :(得分:0)
最可能的解决方案是在代码中添加一些@autoreleasepool {}
语句。如果你有一个分配大量内存的循环,那么在你的应用程序返回到它的主运行循环之前,内存可能不会被释放。
您需要更改多次迭代的循环,看起来像这样:
for (id value in largeArray) {
@autoreleasepool {
//code that creates autoreleased objects
}
}
在上面的代码块中,每次循环结束时,将释放在池中创建的所有自动释放的对象,并释放它们的内存以供使用。
中找到更多信息