【问题标题】:Often memory warning after setting "Strip Debug Symbols During Copy" to NO将“复制期间剥离调试符号”设置为 NO 后经常出现内存警告
【发布时间】:2012-04-27 16:50:16
【问题描述】:

我已将“复制期间剥离调试符号”构建参数设置为 NO。它使我的二进制应用程序的大小增加了 0.5 MB。令人惊讶的是,我开始经常在我的应用程序中看到内存警告。会是这个原因吗?

在这种情况下,我可以将其设置回 YES。

【问题讨论】:

  • 更正了错字。 0.5 MB。
  • 哦,那是一个非常不同的大小。在这种情况下,调试符号不是问题的根源。运行带有泄漏和分配的工具,看看可以减少什么。
  • 您可能在代码中做一些枚举或以其他方式访问符号的操作,在这种情况下,拥有更多符号将意味着更多内存。如果没有,您最多只能将内存使用量增加 0.5MB(将整个应用程序分页到内存中使用的空间,因为它大了 0.5MB)。

标签: iphone objective-c ios cocoa-touch xcode4.3


【解决方案1】:

调试符号不是问题,这是非常确定的。

要找出内存问题的根本原因,请使用以下方法:

  1. Xcode Analyzer - 甚至在不运行您的应用程序的情况下(除其他外)即可定位大多数潜在的内存泄漏。

  2. 仪器:泄漏仪器 - 将定位所有剩余的泄漏问题。

在极少数情况下,您可能会从这两种工具中得到误报。但请放心,根据我的经验,这些通常不是误报,而是发现您的代码/应用程序的问题。

【讨论】:

  • 令人惊讶的是,在将此属性设置为 YES 后,我发现仪器中分配的内存显着减少。它减少了 1.5 MB,我暂时没有看到内存警告。所以我把这个参数改回YES。
猜你喜欢
  • 2015-06-18
  • 1970-01-01
  • 2011-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-24
  • 2017-12-20
  • 2016-11-14
相关资源
最近更新 更多