콘솔에서 위의 경고를주는 응용 프로그램을 작성하고 있습니다.경고 :받은 메모리 경고. Level = 1 & 2
두 개의 스프라이트가 있습니다.
Train=[CCSprite spriteWithFile:@"train.png"];
[self addChild:train z:0 tag:1];
AlphaImage=[CCSprite node];
AlphaImage.position=ccp(245,155);
[Train addChild:AlphaImage z:1 tag:2];
다른 방법으로는 애니메이션을 사용하여 AlphaImage를 초기화하고 있습니다.
CCSpriteFrameCache *frameCache1 =[CCSpriteFrameCache sharedSpriteFrameCache];
[frameCache1 addSpriteFramesWithFile:plist1];
CCSpriteBatchNode *danceSheet1 = [CCSpriteBatchNode batchNodeWithFile:png1];
[self addChild:danceSheet1];
NSMutableArray *animFrames1 = [NSMutableArray arrayWithCapacity:frame[x]];
for(int i = 1; i < frame[x]+1; i++) {
NSString *namef1=[NSString stringWithFormat:@"%@%i.png",alpha1,i];
CCSpriteFrame *frame1 = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:namef1];
[animFrames1 addObject:frame1];
}
CCAnimation *anim1 = [CCAnimation animationWithFrames:animFrames1 delay:0.3f];
CCAnimate *animN1 = [CCAnimate actionWithAnimation:anim1];
CCRepeatForever *repeat1 = [CCRepeatForever actionWithAction:animN1];
[AlphaImage runAction:repeat1];
나는 plist와 Texture atlas를 만들기 위해 zwoptex를 사용했습니다.
열차가 가면서 애니메이션 변경을 위해 plist와 Texture 아틀라스가 돌아옵니다. 그러나 4 ~ 5 번 적용 후 충돌이 발생합니다. 새로운 애니메이션이 사용하고 AlphaImage.i에 오기 전에 나는 또한 모든 프레임과 질감을 deallcated 한 :
[CCSpriteFrameCache purgeSharedSpriteFrameCache];
[CCTextureCache purgeSharedTextureCache];
, 그들은 이러한 제안 :
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFrames];
[[CCSpriteFrameCache sharedSpriteFrameCache] removeUnusedSpriteFrames];
하지만 콘솔에서는이 줄을 사용하여 프레임을 제거하는 것에 대해 아무 것도 표시하지 않습니다. 내가 잘못하고있는 것이 있습니까?
내 AllReset 메서드에는 애니메이션 코드 (위의 코드)가 있고 그 전에이 코드가 포함 된 removeUnused 메서드를 호출합니다. – user392406
performSelectorInBackground에 대한이 페이지를 참조하십시오 - http://blog.datispars.com/tasks-in-background-thread-cocoa-performselectorinbackground/ – nishantcm
performSelectorInBackground 루프에 들어가는 선택기에 응답하지 않습니다. – user392406