【问题标题】:Received memory warning and app crashes - iphone [closed]收到内存警告和应用程序崩溃 - iphone [关闭]
【发布时间】:2013-11-08 04:27:09
【问题描述】:

我正在使用 ARC 创建应用程序,但由于收到内存警告,我的应用程序崩溃了。该应用程序在模拟器中运行良好。但是对于 iphone 设备,如果我运行该应用程序几分钟,然后再执行任何操作,该应用程序就会立即崩溃。我已经通过 xcode 仪器检查了我的应用程序。我的应用程序文件夹大小为 6 MB,但所有内存分配在 xcode 仪器上显示为 63 MB。

由于这个原因,presentViewController-Animated-Completion 在导航过程中变得很慢。有没有人有任何解决方案为什么会发生这种情况?

【问题讨论】:

  • 为什么您的应用在运行时使用 63MB?你的代码是否泄漏内存?你调查了吗?你发现了什么?
  • @Amar我正在更新我的问题,请参阅附件截图。我也没有遇到问题。谢谢
  • 我的OverallBytes 和#Overall 似乎在不断增加,即使我什么都没做。这不好吗??我的 Net Bytes 和 #Net 似乎保持稳定。我正在使用带有“泄漏”选项的“仪器”。

标签: ios memory memory-management didreceivememorywarning


【解决方案1】:

泄漏并不是内存问题的唯一来源。泄漏是您分配的内存,您不再拥有指向它的指针,因此您可以释放它。对于 ARC,这非常罕见。

另一个原因是内存使用不当。您可能正在创建对象并使用强引用保持它们比您需要的时间更长。如果没有看到我们的代码,很难判断您在哪里执行此操作。使用快照并查看内存中的对象以及它们的创建位置是开始调试此类问题的好方法。

【讨论】:

  • @Abizern感谢您给我时间,我正在尝试从前一天开始解决这个问题,但它仍然是。你能告诉我在类代码中泄漏内存的确切位置有可能吗?
  • 我不可能从那张照片中告诉你。您需要自己检查快照。
  • 我已经检查过了,但它没有在 Xcode 仪器的泄漏(调用树)图中显示任何红线。
  • 我没有说你有泄漏,我说当你不需要的时候检查你持有的内存。您需要检查您的快照。 developer.apple.com/library/ios/documentation/AnalysisTools/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 2011-08-24
  • 1970-01-01
相关资源
最近更新 更多