23

我在我的 Mac 上使用 Xcode,它有 8GB 内存。当我打开 Xcode 并且不打开任何项目并等待大约 2 分钟时,Xcode 会吃掉 ram 中的所有内存,(4GB,5GB ...)

谁能告诉我为什么以及如何解决这个问题?

4

6 回答 6

11

我也研究这个问题有一段时间了。我认为一种解决方案(我需要感谢用户justin)是为 Xcode 设置几个配置值。当然应该在退出 Xcode 后完成。

在终端中执行以下命令:

defaults write com.apple.dt.XCode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4

defaults write com.apple.dt.XCode IDEIndexDisable 1

这将阻止索引并减少编译任务的数量。这让我的 Xcode 可以留出一些 RAM 来实际做一些工作。

删除这些设置,例如索引:

defaults delete com.apple.dt.XCode IDEIndexDisable

如前所述,这已在此问题中进行了讨论。

此外,清理 Xcode 缓存可以降低消耗 RAM 的速度。(在 ~/Library/Developer/Xcode/DerivedData - 它在您的主目录中,而且它可能是隐藏的,因此更容易使用终端访问)。

编辑/更新:

显然,这有助于解决内存问题(尽管仍需要定期重新启动 Xcode)。但是,您正在失去一些不错的东西:即时错误检查,控制拖放 IBOutlet 添加到控制器标题(需要以旧方式进行 - 输入然后连接),可能还有一些其他有用的功能附带索引。所以要注意。

于 2013-04-08T07:41:10.837 回答
2

我很惊讶我没有在这里阅读真正的答案/问题,尽管没有解决方案。我看到您提到您甚至不必打开项目,但通常在使用情节提要时会出现问题。我已经确认了这一点,向 Apple 发送了示例,提交了错误报告,等待新版本,还没有。在编辑故事板视图时,某处存在泄漏。如果您正在编辑原始代码,您将永远不会看到内存使用量增加,但是当您开始编辑具有多个视图的情节提要时,就会出现问题。我目前运行 24GB 的内存,在故事板中编辑视图时可以在不到一个小时的时间内使用它。就像其他人提到的那样,唯一的解决方案是重新启动 Xcode。仅仅关闭项目是不够的。

于 2013-02-27T15:58:24.420 回答
2

在这里找到了一个临时解决方案

每隔一段时间运行一次该命令,它对我的​​ 8GB 有帮助

于 2012-10-10T19:32:59.253 回答
1

我遇到了同样的问题,但与 Interface Builder 和 Storyboard 访问相关。

经过一番思考,很明显,在我的项目中的 Storyboard 文件放大到一定数量(目前磁盘上大约 1.5MB)后,XCode 和 IB 出现了问题。

在更改某些(例如 IBLabel)对象中的文本时,每个字母大约需要 0.5 秒,而更改 6 个字符的单词需要 3 秒。这让我很慢。

XCode 重启帮助并释放所有占用的内存......直到下一个工作会话。

我有强烈的印象,IB 在每次更改(例如更改单个字母)后都会创建撤消缓冲区,因为在每次更改后,内存占用量会增加约 20 MB(可能 RAM 中的故事板大小,磁盘上为 1.5 MB)。

并且在 XCode 重启后,undo 缓冲区已经消失,并且相应地释放了一些内存。

我想知道一种限制撤消缓冲区大小的方法,并用较小的大小对其进行测试。

配置为:Mac Mini、4 GB RAM、OS X 10.8.3、XCode 4.6、XCode 4.6.1、XCode 4.6.2

我目前回到 XCode 4.5,情况似乎好一点,但问题仍然存在。我想这个版本的功能比 4.6 少,并且根据这种差异,它使用的内存更少。

好的,看起来 XCode 4.5 实际上可以释放 Interface Builder 分配的一些内存。

2013 年 5 月 21 日更新:我从 4GB 升级到 Mac Mini 2011 8GB RAM,但尚未发现问题。

于 2013-05-09T09:13:58.377 回答
0

XCode 是一个真正的内存怪物,如果您尝试使用其中一种“工具”,它会吃得更多。根据任务,有些人没有那么多问题,特别是如果他们有更多的记忆。

就我个人而言,我从 2GB 开始,而 XCode 只是......很痛苦

升级到 8GB 后,我只需要时不时地重新启动

听说有 16GB 的人不会抱怨那么多,每天只需要重启一两次 XCode。

对我来说,你在 2 分钟后使用了所有的记忆,这看起来很奇怪。我可能猜想您的某些设置使所有 XCode 泄漏变得更糟。您是否尝试过删除所有 ~/Library/Developer 文件夹和设置文件?

于 2012-10-07T12:22:54.490 回答
0

这个问题没有真正的解决方法。

在很多网站上都有讨论。帮助我解决这个问题的唯一解决方案是现在重新启动 XCode。我认为这个问题不会有真正的解决方案。

于 2012-09-06T07:40:46.420 回答