Xcode Instruments使用大量内存.
好的,这是我的问题,如果它重复,我道歉.我搜索但找不到任何我认为相关的内容.
当我从xcode运行仪器并开始测试我的应用程序的内存泄漏或分配时,我的iMac最终开始运行得非常慢. 这导致我在使用乐器时运行活动监视器,我注意到每个第二个乐器都打开它会占用越来越多的实际内存.大约每秒100MB. 它不需要很长时间就可以消耗我所有的iMacs免费内存(2gbs)然后开始滞后. 无论如何,每次申请都不会发生这种情况.我已经完成了与我下载的一些应用程序/项目相同的测试,仪器似乎只使用了大约250mbs的空间并且没有显着增加. 有什么明显的东西我做错了吗?任何帮助,将不胜感激. 谢谢. 解决方法
乐器消耗大量内存.
根据您录制的内容,您可以减少其内存使用量.例如,您通常可以指定记录什么(或不记录),或者降低采样频率(如果适用). 100MB / s非常高.你能否更准确地描述你当时录制的内容? (您使用的工具,您记录的过程是什么,等等). Xcode 3使用了更少的内存 – 不确定是否也是仪器的情况. 您可以通过将工具集作为32位进程运行来减少内存使用量. 最后,2GB物理内存对Xcode Instruments iOS Sim来说毫无意义. fwiw,我经常用8 GB或更多GB耗尽物理内存.嘘.幸运的是,当你需要4或8GB时,内存很便宜. 更新
如果必须,您可以单独运行这些测试. 分配 如果您的应用程序没有创建大量分配,分配本身不应消耗大量内存. 要使用此仪器减少内存,您可以禁用一些您不感兴趣的选项: >不记录每个引用计数操作 泄漏 >暗示分配工具仅在您需要泄漏历史记录时. 泄漏检测本身会占用大量内存,因为它会扫描内存,基本上会克隆您的分配.假设你有100MB的分配 – 泄漏将定期暂停进程,克隆内存并扫描它的模式.这可能比你的应用消耗更多的内存. iirc,它作为乐器中的子进程执行. 植物大战僵尸 >暗示分配工具. 僵尸检测通常意味着参考计数记录.调试僵尸时,永远不要释放它们是最有效的.如果你释放它们,你可能只会发现瞬态僵尸(不确定是否有一个选项可用于乐器……).永远不会释放objc分配显然会消耗更多内存.然后,在进程上运行泄漏会消耗更多内存,因为堆大小会更大 – 不应该组合泄漏和僵尸. 您应该能够通过禁用其中一些选项并单独测试它们来减少总消耗. 笔记 >最新的开发者工具版本可能非常不稳定.如果您遇到问题,可以坚持正式发布. 祝好运 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ajax – 您认为Progressive Enhancement有多重要?
- c# – 如何代理在docker容器中运行的dotnet核心应用程序的每
- ruby-on-rails – Rails 500错误会覆盖我的标题
- 从Oracle不支持JAVA EE事件谈起
- net.sf.json.JSONException: java.lang.reflect.Invocation
- arcgis api for flex之二、开发环境配置
- 单片机中的FLASH和EEPROM
- sqlite3 的文件打开影响速度
- c# – 在静态属性getter中创建的新对象是否只创建一次?
- C#设计模式之五原型模式(Prototype Pattern)【创建型】