我有以下代码:
CCParticleExplosion *explosion = [[CCParticleExplosion alloc] init];
explosion.texture = [[CCTextureCache sharedTextureCache] addImage:@"chick.png"];
explosion.position = egg.position;
[explosion setAutoRemoveOnFinish:YES];
[explosion setTotalParticles:10];
[self.layer addChild:explosion];
我认为setAutoRemoveOnFinish会自动从图层中删除爆炸节点并将其释放。但是xCode乐器说CCParticleExplosion正在泄漏内存!
更新1:
使用CCParticleExplosion节点而不是alloc来解决问题。
答案 0 :(得分:1)
如果您在内存中分配内容,则必须取消分配。
Node是一种使用自动释放池处理内存分配的创建方法。
答案 1 :(得分:1)
[ explosion autorelease];
将以上行添加到您的代码中。
CCParticleExplosion *explosion = [[CCParticleExplosion alloc] init];
explosion.texture = [[CCTextureCache sharedTextureCache] addImage:@"chick.png"];
explosion.position = egg.position;
[explosion setAutoRemoveOnFinish:YES];
[explosion setTotalParticles:10];
[self.layer addChild:explosion];
[ explosion autorelease];
答案 2 :(得分:0)
完成后使用[explosion release];