在Xcode内存中开发应用程序时正在发生泄漏。当我在扩展详细信息视图中检查它们时,它们显示的是与实现无关的不同方法。如何准确找出泄漏的对象以及泄漏内存的位置。
启用ARC时,我们必须处理内存泄漏吗?
答案 0 :(得分:11)
是的,即使使用ARC也存在内存泄漏。 ARC不是垃圾收集器,它只在编译时为您插入,在关键位置保留,释放和自动释放。因此,虽然它确实有助于开发人员,但您应该知道内存泄漏仍然存在(例如循环引用)。您可以先使用静态分析器来解决它向您显示的任何问题。然后,您可以转到工具并选择泄漏。
答案 1 :(得分:11)
即使发生ARC
内存泄漏,它也只是在编译期间插入释放和自动释放。
1。您必须使用XCode中的Build and analyze
检查是否存在泄漏,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 tree
和show obj-c only
框,如下图所示。
双击下面的符号名称后,您将获得泄漏的行。
你会得到这样的东西。