Ios Xcode内存图-显示不断增加的内存使用-它到底显示了什么?
当我在xcode 6(也可能是5)中观看调试图时,当我运行我的应用程序时,内存使用会继续增加,因为我在屏幕上放置了更多的特定对象,并为其移动设置动画。当我移除它时,它似乎没有减少。一旦删除,我相信没有更多的参考他们 请参见屏幕截图: 然而,当我使用仪器试图识别正在发生的事情时,只有大约12mb的数据持续存在,总字节继续增加,正如预期的那样 请参见屏幕截图: 这是正常的行为吗?Xcode中的图形到底显示了什么?我是不是忽略了什么 在Instruments中,我将分配寿命设置为所有分配,并将分配类型设置为所有堆和匿名VM,用于上面的屏幕截图 更新 通过运行带有活动监视器的仪器,我能够看到“真实内存”的增长速度与Xcode中显示的速度相同@MarkSzymczyk指出OpenGL ES纹理内存分配不会显示在分配工具中 在cocos2d3.1中,通过定期使用以下命令清除纹理缓存,内存使用量会持续下降到18mb左右,并随着我添加更多精灵而再次增加Ios Xcode内存图-显示不断增加的内存使用-它到底显示了什么?,ios,objective-c,xcode,xcode-instruments,Ios,Objective C,Xcode,Xcode Instruments,当我在xcode 6(也可能是5)中观看调试图时,当我运行我的应用程序时,内存使用会继续增加,因为我在屏幕上放置了更多的特定对象,并为其移动设置动画。当我移除它时,它似乎没有减少。一旦删除,我相信没有更多的参考他们 请参见屏幕截图: 然而,当我使用仪器试图识别正在发生的事情时,只有大约12mb的数据持续存在,总字节继续增加,正如预期的那样 请参见屏幕截图: 这是正常的行为吗?Xcode中的图形到底显示了什么?我是不是忽略了什么 在Instruments中,我将分配寿命设置为所有分配,并将分配
[[CCDirector sharedDirector] purgeCachedData];
感谢Mark Szymczyk为我指明了这个方向-谢谢 查看您的屏幕截图,Xcode图可能显示的是仪器屏幕截图中的Total Bytes列的等效值。删除对象时,持久字节数将减少,但总字节数不会减少。这就解释了为什么Xcode图形中的内存使用率从未下降
Instruments中的Persistent Bytes列是您确定应用程序内存使用情况时应该查看的内容。嗨,JoGoFo,您在项目中启用了Zombie吗?嘿,学生,我想说的是Zombie已关闭。还有其他想法吗?嗨,你在你的项目中使用了大量的图片吗?不是大量的图片,不,少于10张。我更好奇的是,我是否正确地看待这个问题,或者我是否遗漏了一些问题。这是我收集到的,但是有人能够确认这就是Xcode图形显示的内容吗?我还想知道Xcode是否显示分配的内存块,也许我有某种碎片问题?分配工具不记录OpenGL ES纹理分配。Xcode的内存图可能会显示分配工具不会显示的纹理内存分配。感谢Mark,这正是问题所在。定期清除纹理缓存可以修复此问题。我会更新我的问题的更多细节,并接受您的回答-再次感谢@MarkSzymczyk我认为说Xcode规范图显示的是总字节是不正确的。我找不到官方文档,但该值几乎总是与活动监视器的当前总内存列中的值相匹配。指出仪器不显示OpenGL ES纹理这一事实听起来是一个更合理的正确答案。但现在我认为这个答案是误导性的。