我在main.m中有内存泄漏,可能导致什么?

时间:2013-11-24 15:22:21

标签: ios memory-leaks main

我第一次使用乐器,而且我在main.m中看起来有一个内存链接。如何解决问题以解决问题?我使用ARC所以令我惊讶的是主要的错误?有什么可能导致这个?

enter image description here

1 个答案:

答案 0 :(得分:5)

泄漏是main的后代。

观看使用乐器泄露的WWDC视频是明智之举,您可以获得更多有关您所展示内容的信息。

泄漏显示泄漏的内存被分配的位置,泄漏是因为缺少释放因此无法显示,所以它丢失了。

使用ARC时的一个常见原因是保留周期。也许委托财产强而不是导致保留周期。例如:Object-A实例化Object-B。 Object-B实例化具有强属性的Object-C。 Object-C创建一个指向Object-B的强属性委托。 Object-A释放Object-B但Object-B无法解除分配,因为Object-C仍然有一个强指针。 Object-C无法解除分配,因为Object-B仍然有一个强大的指针。在这一点上,每个都使另一个人不能解除分配 - 一个保留周期。答案是Object-C应该对Object-B有一个弱点。

你的任务是向下钻取并找到泄漏的物体,然后弄清楚它为什么没有被释放。这很多次都很难。