iOS – 我收到内存警告,但不知道为什么

我正在开发的iOS和检查我的应用程序与iPhone和iPad。

我收到很多内存警告(didReceiveMemoryWarning被调用),但不知道为什么。 我的应用程序在峰值点使用〜35MB,最低点为4-5 MB。

我试图用“工具”来查找泄漏,但找不到任何关键问题。

有没有一个很好的方法来找出为什么系统发送内存警告?

内存警告是预计在iOS应用程序。 它不一定是因为你的应用程序。 即使应用程序被暂停,其他应用程序仍在内存中。 操作系统将通过发送内存警告和必要时杀死应用程序来进行内存pipe理。 只要你使用合理数量的内存(几乎没有内存泄漏),并正确处理didReceiveMemoryWarning,你会没事的。

此外,当您的应用程序处于暂停模式时,如果您的应用程序占用的内存很小,则您的应用程序将更有可能在杀死进程后继续存在。 随着更大内存占用的应用程序将被终止。

我还发现“产品 – >分析”(Shift + Command + B)可以帮助您在开始使用泄漏之前解决一些代码问题。 随着ARC的引入,这变得不那么有用,虽然。