如何在iPhone上检测内存泄漏?

24

我正在使用Xcode的泄漏检测工具来(尝试)查找内存泄漏。我仍然没有弄清如何使用这个程序。我点击程序中的Leaks并在模拟器中做各种事情时观察到内存增加。我已经显示了Extended Detail面板。Extended Detail面板中唯一与我的应用相关的是main方法,这是由Xcode生成的主方法。其他所有内容都是UIKit、Foundation和其他SDK类,我没有编写它们。为什么我的应用程序没有显示出来?

在不到3分钟的时间内,就有100多个泄漏总共2.5k。这种情况常见吗?


1
你是在查看实际的“泄漏”数据还是在查看对象分配数据?如果你是在查看后者,那么是正常的...那些不是泄漏,只是分配。它可以让你了解内存占用情况。 - Jason Coco
我正在查看内存泄漏。唯一有问题的是我的主函数。随着我使用应用程序,泄漏数量和字节数继续增加。我不明白为什么主函数会泄漏这么多。 - 4thSpace
确保所有的内存分配都被释放。如果没有释放,就会造成内存泄漏。 - Niels Hansen
13个回答

0

发现内存泄漏的最佳方法之一是选择产品-> 分析。在左侧,Xcode会显示哪个文件存在内存泄漏,以及导致内存泄漏的变量是什么。这是发现内存泄漏的最佳方式之一。


0

为了检测内存泄漏,您可以使用Xcode的“构建和分析”功能。

只需在Xcode菜单中选择构建 -> 构建和分析即可。


0

内存调试器(在控制台上方,视图调试器旁边的按钮)也非常有用。 它将显示您的泄漏,并且您可以轻松检查/过滤对象是否仍然在内存中,而不应该在那里。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接