如何跟踪iOS中导致堆增长的代码



我花了几天时间研究这个问题。由于内存泄漏,我的应用程序在iPod Touch中崩溃。

我已经在Xcode中通过Instrument准确地监测了堆的增长,并证实代码正在使应用程序占用的内存在每个事件中增长。

我需要在这里提到的是,我正在使用ARC,因此我真的没想到应用程序会因为内存问题而崩溃,尽管ARC在使用Core foundation的情况下没有帮助,但我没有直接在我的应用程序中使用Core foundation。但是MBProgressHUD是在我的应用程序中添加的,它使用这个框架。我还没有为MBProgressHUD启用ARC,因为它会导致大量内存增长。

我仍然无法跟踪导致我的应用程序内存增长过多并导致应用程序崩溃的主要问题/变量/代码。

p.S:仪器显示了一些导致大量内存分配的函数,但在这些函数中,我也不知道如何在启用ARC时释放这些变量(它是自动管理的)。

如果我的方向正确,请提出建议。

是泄漏还是分配更多?应用程序速度减慢的主要原因是使用了太多的autorelease对象。

最新更新