我在我的mac上使用Xcode,它有8GB内存。当我打开Xcode并且不打开任何项目并等待大约2分钟时,Xcode会占用内存中的所有内存,(4GB,5GB ......)
有人可以告诉我为什么以及如何解决这个问题?
答案 0 :(得分:5)
我也一直在研究这个问题。我认为一个解决方案(我需要将用户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
如上所述,这在this question中进行了讨论。
此外,清理Xcode缓存允许降低RAM被吃掉的速度。 (在〜/ Library / Developer / Xcode / DerivedData - 它位于您的家庭目录,也可能是隐藏的,因此使用终端更容易访问)。
编辑/更新:
显然,这有助于解决内存问题(尽管仍需要定期重启Xcode)。然而,你正在失去一些有趣的东西:即时错误检查,控制 - 拖放IBOutlet添加到控制器头(需要以旧的方式 - 输入然后连接),可能还有一些其他有用的功能,带索引。所以要注意。
答案 1 :(得分:2)
找到了临时解决方案here
每隔一段时间运行一次该命令,这有助于我的8GB
答案 2 :(得分:2)
我很惊讶我没有在这里读到真正的答案/问题,尽管没有解决方案。我看到你提到你甚至不必打开一个项目,但通常在使用故事板时会出现问题。我已经证实了这一点,向Apple发送了示例,提交了错误报告,等待新版本,还没有。在编辑故事板视图时,某个地方会出现泄漏。如果您正在编辑原始代码,您将永远不会看到ram使用量增加,但是第二次开始编辑具有多个视图的故事板并且会产生问题。我目前运行24GB内存,在编辑故事板中的视图时可以在不到一个小时的时间内使用它。像其他人提到的那样,唯一的解决方案是重启Xcode。简单地关闭项目是不够的。
答案 3 :(得分:1)
我遇到了同样的问题,但与Interface Builder和Storyboard访问相关。
经过一番思考后,很明显,在我的项目中的Storyboard文件放大到一定量(目前磁盘上大约1.5MB)后,XCode和IB出现了问题。
在某些(例如IBLabel)对象中更改文本时,每个字母需要大约0.5秒,对于6个字符的单词,更改需要3秒。这让我感到很沮丧。
XCode restart帮助并释放所有占用的内存......直到下一个工作会话。
我有强烈的印象,IB在每次更改后都会生成撤消缓冲区(例如更改单个字母),因为每次更改后,内存占用量会扩大约20 MB(可能是RAM中的故事板大小,磁盘上为1.5 MB)。
在XCode重新启动后,撤消缓冲区已经消失,一些内存已相应释放。
我想知道一种限制撤消缓冲区大小的方法,并用较小的大小进行测试。
配置为: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并没有发现问题。
答案 4 :(得分:0)
没有真正解决这个问题的方法。
在很多网站上讨论过。帮助我解决这个问题的唯一解决方案是, 现在重新启动XCode。我不认为这个问题会有真正的解决方案。
答案 5 :(得分:0)
XCode是一个真正的记忆怪物,如果你尝试使用其中一种“乐器”,它会吃得更多。根据任务的不同,有些人没有那么多问题,特别是如果他们有更多的记忆。
我个人开始使用2GB而XCode只是......痛苦
升级到8GB后,我不得不每隔一段时间重新启动
我听说16GB的人不会抱怨这么多,只需要每天重启一次或两次XCode。
我觉得你在2分钟后用完全部记忆对我来说很奇怪。我可能会猜到你的某些设置会使所有XCode泄漏最严重。您是否尝试删除所有〜/ Library / Developer文件夹并设置文件?