ios - 替换场景继续增加内存使用和内存泄漏如何处理?或者我应该如何在我的项目中启用 ARC

标签 ios objective-c memory-leaks cocos2d-iphone out-of-memory

我正在做一个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/

相关文章:

ios - 如何为后退按钮做 'prepareSegue'?

iPhone 应用程序在 App Store 构建时崩溃,但在开发构建时不会崩溃

c - Cygwin 中的内存泄漏检测工具

ios - 低内存警告总是导致 iPad(第一代)崩溃

objective-c - 为什么如果在 AppDelegate 中定义了一个属性,而它在 ViewController 中不可用?

objective-c - UIScrollView setZoomScale 不起作用?

linux - 检测并删除 Linux 应用程序中的内存泄漏

javascript - 谷歌折线图中的内存泄漏

ios - 如何重新解析 tableView 中的 xml 数据?

objective-c - 如何从在 UIimageView 内缩放的 UIimage 获取位置的像素颜色