适合这条线路的内存管理? (Cocos2D中)

时间:2012-06-13 20:40:54

标签: ios memory-management cocos2d-iphone ccsprite

我在Xcode中将以下行作为泄漏:

someSprite = [[CCSprite alloc] initWithFile:(NSString*)obj];

我知道我在那里分配它,但我认为Cocos2D处理了所有的内存管理。无论如何我应该如何妥善处理那条线以便没有泄漏?

我应该简单地使用自动释放还是更多呢?

谢谢!

2 个答案:

答案 0 :(得分:2)

Cocos2D不会为您处理内存。但是,我认为您可以使用自动引用计数(ARC)来摆脱必须自己处理内存。然后,您使用Cocos2d作为静态库,因为cocos2d不支持ARC。

如果您想在没有ARC的情况下解决问题,只需插入自动释放。如果它是一个实例变量,请在dealloc方法中释放它。

答案 1 :(得分:1)

通常,更优选使用返回自动释放对象的静态构造函数。对于你的情况,它将是

[CCSprite spriteWithFile:(NSString*)obj];

将其添加到任何父级

时,它将被保留