我现在遇到大麻烦,我的iPhone应用程序由于内存泄漏而一次又一次地终止,我无法判断那些泄漏的位置。告诉我可以采取哪些步骤来解决此问题。
由于
答案 0 :(得分:4)
您可以使用Instruments查看潜在泄漏的位置。
这是一个很好的教程。 http://mobileorchard.com/find-iphone-memory-leaks-a-leaks-tool-tutorial/
答案 1 :(得分:3)
我认为你这里的术语令人困惑。内存泄漏是指在完成对象后不释放对象。
泄漏不会直接导致崩溃。如果由于未释放大量对象而导致内存不足,则泄漏可能间接导致崩溃。但是,如果你的崩溃发生在模拟器中,那几乎肯定不是这种情况(模拟器的可用内存比设备多得多)。正如丹尼尔所说,你可以使用仪器工具找出泄漏的东西。
另一个好方法是使用XCode静态分析器 - 您可以分析代码并检测最常见的泄漏。
现在,如果您的应用程序崩溃并且由于内存泄漏而导致不(您将能够告诉它,因为您将向控制台输出内存警告),那么很可能是您的问题不是泄漏。也许这是一个糟糕的访问(你 over 发布),在这种情况下,你的乐器泄漏工具不会帮助你。
答案 2 :(得分:0)
如果您需要找出泄漏和崩溃的来源。你可以试试这些
- 最糟糕的是如果它在尝试了以上三种情况后仍然会崩溃。你在一个线程中编写代码的内存密集型模块并清理该线程。我注意到通常在线程完成后,内存占用更清晰。这只是我的意见,但你应该做以上3个。
答案 3 :(得分:0)
您还可以在XCode中构建+分析您的应用程序(Cmd
+ Shft
+ A
或产品>分析)。它会告诉你更明显的泄漏。