此行的内存管理是否正常?(Cocos2D)



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

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

我知道我确实在那里分配了它,但我认为 Cocos2D 处理了所有的内存管理。无论如何,我应该如何正确处理该线以免泄漏?

我应该简单地使用自动发布还是还有更多?

谢谢!

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

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

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

[CCSprite spriteWithFile:(NSString*)obj];

当您将其添加到任何父级时,它将保留

最新更新