当前位置:  开发笔记 > 编程语言 > 正文

在CocoaTouch(iPhone OS)中,如何找到/消除Instruments Leak工具找不到的泄漏?

如何解决《在CocoaTouch(iPhoneOS)中,如何找到/消除InstrumentsLeak工具找不到的泄漏?》经验,为你挑选了1个好方法。

我有一个在模拟器中运行良好的iPhone应用程序.通过摆脱一切并非绝对必要的东西,它可以很好地响应记忆警告.当我在设备上运行它时,它运行良好.但是在经过一定程度的使用后,它崩溃了,错误代码为101 - 据我所知,操作系统会因内存使用情况而将其查杀.我可以看到内存警告(我正在记录它),我的应用程序响应它,但此后不久就死了.

如果我查看仪器中的应用程序(在设备上或在SIM卡中),它没有发现任何泄漏.此外,净内存使用量在600-700k字节的范围内.从我的应用程序的不同视图转换会增加内存使用量(正如预期的那样),但是当视图和控制器被释放并释放时,内存使用量从未像现在这样低.但是,添加通常只有1000-2000字节的范围内.因此,虽然泄漏显示我没有泄漏,但我怀疑某处存在问题.我还查看了我正在分配的所有对象,所有这些对象似乎都按预期进行了回收.我看到的唯一不断增加的对象是GeneralBlock-N(其中N是一些数字)

我不应该关注仪器净使用量数字吗?尝试诊断问题的后续步骤是什么?

ADDED:我没有调用malloc()或任何会返回我负责的缓冲区的CoreFoundation库.我正在进行的唯一非Obj-C调用是将语句记录到NSLog.



1> Ben Gottlieb..:

一个快速的尝试是运行Clang静态分析仪.这将在您的代码中找到一些您可能遗漏的问题,但不是全部问题.它在编译时检查代码,所以它绝不是绝对可靠的,但几乎肯定会找到最明显的问题.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有