我得到以下行作为 Xcode 中的泄漏:
someSprite = [[CCSprite alloc] initWithFile:(NSString*)obj];
我知道我在那里分配它,但我认为 Cocos2D 处理了所有的内存管理。无论如何,我应该如何正确处理那条线以防止泄漏?
我应该简单地使用自动释放还是还有更多?
谢谢!
我得到以下行作为 Xcode 中的泄漏:
someSprite = [[CCSprite alloc] initWithFile:(NSString*)obj];
我知道我在那里分配它,但我认为 Cocos2D 处理了所有的内存管理。无论如何,我应该如何正确处理那条线以防止泄漏?
我应该简单地使用自动释放还是还有更多?
谢谢!
Cocos2D 不会为您处理内存。但是,我认为您可以使用自动引用计数 (ARC) 来摆脱自己处理内存的麻烦。然后你可以使用 Cocos2d 作为静态库,因为 cocos2d 不支持 ARC。
如果你想在没有 ARC 的情况下解决你的问题,只需插入一个自动释放。如果它是实例变量,请改为在您的 dealloc 方法中释放它。
通常,最好使用返回自动释放对象的静态构造函数。对于您的情况,它将是
[CCSprite spriteWithFile:(NSString*)obj];
当您将其添加到任何父级时,它将被保留