我正在做一个cocos2d项目,这是一个有很多场景的游戏。 当我调用替换场景时,我使用
[scene2 removeAllChildrenWithCleanup:YES];
在dealloc方法中。 另外,我已经通过使用删除了所有未使用的 spritesheet
NSString *PngName = [atlas.AtlasName stringByAppendingString:@".png"];
NSString *PlistName = [atlas.AtlasName stringByAppendingString:@".plist"];
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFramesFromFile:PlistName];
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFrameByName:PngName];
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFrames];
当我检查我的描述时
[CCSpriteFrameCache sharedSpriteFrameCache]
,它告诉我它删除了未使用的 spritesheet,但当我使用 Instrumets 检查设备时它没有释放内存。这会导致应用程序崩溃。
经过多次试验,我想到在我的项目中使用 ARC,但是当我按照
中显示的步骤将其转换为 ARC 项目时http://www.youtube.com/watch?v=Klj9xRafog4
我在我的 CCArray、CCDirectorIOS 等中遇到很多错误。 谁能帮我解决这个问题??
最佳答案
检查您是否在更改场景时移除触摸代理。
关于ios - 替换场景继续增加内存使用和内存泄漏如何处理?或者我应该如何在我的项目中启用 ARC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21771051/