【发布时间】:2011-09-18 13:44:40
【问题描述】:
我的应用程序中有一个奇怪的错误 - 在应用程序运行时,我有时会遇到一个奇怪的行为,即应用程序“反驳”并返回第一个屏幕(好像再次调用 ViewDidLoad)。它没有明确的逻辑(有时它会在应用程序运行几秒钟后发生,有时我可以潜伏数小时但它不会发生)。
我怀疑这个问题与一些内存问题有关 - 当我使用调试器运行应用程序时,我可以在日志中看到我在错误发生之前收到内存警告:收到内存警告。级别=1
- 有人熟悉这种行为吗?意思是,应用程序在收到内存警告时被“驳回”?
- 由于我不知道导致内存问题的原因,有没有人知道我应该如何跟踪它?有什么推荐的工具吗?
非常感谢任何帮助。
【问题讨论】:
-
使用泄漏工具和分配工具来跟踪内存问题。您可以做的第一件事是构建和分析。这将指出您在代码库中泄漏内存的所有地方。
-
内存警告很容易出现而没有任何泄漏,因此无论如何都必须正确处理它们。事实上,它们只是意料之中。