7

在 Xcode 中开发应用程序时,内存泄漏正在发生。当我在扩展详细视图中检查它们时,它们显示了与实现无关的不同方法。如何准确找出哪个对象正在泄漏以及它在哪里泄漏内存。

启用 ARC 后,我们是否必须处理内存泄漏?

4

2 回答 2

11

是的,即使使用 ARC,也会存在内存泄漏。ARC 不是垃圾收集器,它只在编译时为您插入、保留、释放和自动释放关键位置。因此,尽管它确实对开发人员有所帮助,但您应该知道内存泄漏仍然存在(例如循环引用)。您可以从使用静态分析器开始并纠正它向您显示的任何问题。然后您可以转到Instruments 并选择 Leaks

于 2012-05-08T06:19:31.157 回答
11

即使ARC可能发生内存泄漏,它也只是在编译时插入释放和自动释放。

1.Build and analyze您必须在 XCode 中检查泄漏,shift+command+b您应该清除这些问题。

2.之后,您可以使用配置文件选项开始使用仪器command+i。这将指向您可能泄漏的位置。

这个链接也会帮助你http://soulwithmobiletechnology.blogspot.in/2011/04/how-to-check-memory-leaks-in-xcode-4.html

编辑:添加了一些屏幕截图,希望能清楚地说明。

leaks选择call tree选项并选中复选框后进行分析hide system libraries,如下图所示。invert call treeshow obj-c only

双击下面的符号名称后,您将看到泄漏的行。 在此处输入图像描述

你会得到这样的东西。

在此处输入图像描述

于 2012-05-08T06:23:51.963 回答