内存泄漏cocos2D - spriteWithSpriteFrameName

时间:2012-08-27 09:56:35

标签: ios memory-leaks cocos2d-iphone

请帮帮我.. 我是cosos2D游戏开发的新手。 在仪器中,我在以下代码中的spriteWithSpriteFrameName中找到了我的游戏中的泄漏..

tileArray=[[CCArray alloc]initWithCapacity:11];
for (int i=1; i<=10; i++) {
@autoreleasepool {
CCSprite *encounter;
encounter = [CCSprite spriteWithSpriteFrameName:@"82x60.png"];
[self addChild:encounter z:i tag:2600+i];
encounter.position=CGPointMake(-1000,-1000);
[tileArray addObject:encounter];
}
}

尽快回复我。感谢..

2 个答案:

答案 0 :(得分:0)

在你的onExit方法中,清理精灵表,并从自己中删除所有孩子。

-(void)onExit
 {
    [tileArray release];

    CCSpriteFrameCache *cache = [CCSpriteFrameCache sharedSpriteFrameCache];

    [cache removeSpriteFramesFromFile:@"yourSpriteSheet.plist"];

    [self removeAllChildrenWithCleanup:YES];

    [super onExit];


 }

答案 1 :(得分:0)

您的 tileArray 未发布,这就是您泄漏的原因。只需将它设置在自动释放池....

tileArray=[[[CCArray alloc]initWithCapacity:11] autorelease];