【发布时间】:2014-02-27 23:16:15
【问题描述】:
我有一个 Cocos2d 游戏,其中包含 3 个“世界”之间的加载。为此,应用程序使用:
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:spriteSheetName];
在加载中卸载之前的“世界”:
[[CCSpriteFrameCache sharedSpriteFrameCache]removeSpriteFramesFromFile:plist];
NSString * textureFileName = [plist stringByDeletingPathExtension];
CCTexture2D *texture = [[CCTextureCache sharedTextureCache] textureForKey:[textureFileName stringByAppendingPathExtension:@"pvr.ccz"]];
[[CCTextureCache sharedTextureCache] removeTexture:texture];
使用 dumpCachedTextureInfo 时,我收到: CCTextureCache dumpDebugInfo:36 个纹理,190476 KB (186.01 MB)
但是 Xcode 内存选项卡显示大约 600MB。我正在使用 iPad 3 进行测试。最后在 Xcode 显示一些内存警告后:'Terminated due to Memory Pressure'。
有人知道为什么我的内存值不同吗?
【问题讨论】:
-
您可能存在内存泄漏。使用 Instruments 查找泄漏并运行“分析器”构建,这将指出许多潜在(和实际)问题。
-
@LearnCocos2D 我已经提出了这两个建议,但我没有发现任何漏洞。无论如何感谢您的提示。
标签: memory memory-management memory-leaks cocos2d-iphone