我正在使用 Cocos2d(ARC)。我正在制作一个使用自定义 CCSprite 类的游戏
+(id)createMySprite
{
return [[self alloc] initMy] ;
}
这是我的 CCSprite 类。我在哪里分配内存。由于 ARC,我无法编写 autorelease。我有两个 CCLayer 类。在头等舱中,只需单击该按钮即可播放按钮,它会替换屏幕并移动第二个屏幕。在第二类中,我获取了许多自定义 CCSprite 类。当我更换到第一类 CCLayer 时,它永远不会释放第二类的内存,内存会不断增加。然后在达到 20-30 MB 实时内存后崩溃。所以我需要这方面的帮助。
基本上,标头是 ARC 兼容的。源代码不支持 ARC。因此,您在不启用 ARC 的情况下将 Cocos2D 编译为静态库,然后在代码中链接到它,您可以安全地将 ARC 用于您的类和 Cocos2D 元素的自定义子类。如果我错了,请纠正我,但是在你的项目中使用 ARC 应该没有问题,并且说一个使用 ARC 并且不手动放置保留和释放消息的 CCSprite 子类。正确的?