我正在为iOS开发并使用IPhone和IPad检查我的应用程序。
我收到很多内存警告(调用didReceiveMemoryWarning),但不知道为什么。 我的应用程序在峰值点使用~35MB,在最低点使用4-5 MB。
我试图使用'工具'找到泄漏,但找不到任何关键问题。
有没有一种好方法可以找出系统发出内存警告的原因?
答案 0 :(得分:24)
iOS应用程序中预计会出现内存警告。它不一定是因为你的应用程序。即使应用程序被暂停,其他应用程序仍在内存中。操作系统将通过发送内存警告并在必要时终止应用程序来执行内存管理。只要您使用合理数量的内存(几乎没有内存泄漏)并正确处理didReceiveMemoryWarning,您就可以了。
此外,当您的应用处于暂停模式时,如果您的应用占用的内存很少,那么您的应用将更有可能在查看过程中继续存在。因为具有更大内存占用的应用程序将首先终止。
答案 1 :(得分:10)
我还发现“Product - > Analyze”(Shift + Command + B)可以帮助您在开始使用Leaks之前解决一些代码问题。随着ARC的引入,这变得不那么有用了。