Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory Cocos2d:particle.autoremoveConfigFinish未释放内存_Memory_Memory Management_Memory Leaks_Cocos2d Iphone_Particles - Fatal编程技术网

Memory Cocos2d:particle.autoremoveConfigFinish未释放内存

Memory Cocos2d:particle.autoremoveConfigFinish未释放内存,memory,memory-management,memory-leaks,cocos2d-iphone,particles,Memory,Memory Management,Memory Leaks,Cocos2d Iphone,Particles,我通过以下方式创建粒子效果: CCParticleSun* p = [[CCParticleSun alloc]initWithTotalParticles:5000]; p.autoRemoveOnFinish = YES; //more parameters p.duration = 1; 并将其添加到我的场景中: [self addChild:p z:self.zOrder+1]; 每次我创建这个粒子效果时,都会分配3MB内存,但从未释放。 我做错了什么?我必须手动释放粒子系统吗 NS

我通过以下方式创建粒子效果:

CCParticleSun* p = [[CCParticleSun alloc]initWithTotalParticles:5000];
p.autoRemoveOnFinish = YES;
//more parameters
p.duration = 1;
并将其添加到我的场景中:

[self addChild:p z:self.zOrder+1];
每次我创建这个粒子效果时,都会分配3MB内存,但从未释放。 我做错了什么?我必须手动释放粒子系统吗

NSZombies是禁用的,因此它不会意外地保存在内存中。

您分配(或保留)的所有内容也必须释放。对于Cocos2D,最容易将其转换为自动释放对象,如下所示:

CCParticleSun* p = [[CCParticleSun alloc]initWithTotalParticles:5000];
[p autorelease];
p.autoRemoveOnFinish = YES;
p.duration = 1;
然后,它将在Cocos2D清理场景后发布

PS:5000个粒子是数量巨大的粒子!难怪您会看到数兆字节大小的分配。试着最多花500英镑,
如果你使用的粒子纹理大约为32x32像素或更大,则为100像素或更少。

该死,我在内存管理方面很差劲:(再次感谢你的精彩回答!