我第一次使用乐器,而且我在main.m中看起来有一个内存链接。如何解决问题以解决问题?我使用ARC所以令我惊讶的是主要的错误?有什么可能导致这个?
答案 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有一个弱点。
你的任务是向下钻取并找到泄漏的物体,然后弄清楚它为什么没有被释放。这很多次都很难。