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