다음은 메모리에서 CCNode의 대부분의 내용을 제거한 코드입니다. 노드에 오디오가 포함되어 있지 않음을 유의하십시오.
구현 파일의 맨 위에 다음 줄을 추가하십시오.
#import "CCTextureCache.h"
구현 파일에도 onExit 메서드를 추가하십시오.
-(void)onExit{
[super onExit];
[self removeAllChildren];
[[CCTextureCache sharedTextureCache]removeUnusedTextures];
}
은 텍스처 당신이
[[CCTextureCache sharedTextureCache]dumpCachedTextureInfo];
이 응용 프로그램을 실행하고 실시간으로 메모리를 모니터링하는 엑스 코드의 디버그 네비게이터를 사용하여 사용할 수 있습니다 제거 있는지 확인하십시오.
기타/제거 노드를 추가하는 방법에 대한 연구 : 앱이 장치에 대한 특정 메모리 임계 값에 도달하면 때문에 메모리에 대해 "걱정할 필요가 없습니다"적인 Cocos2D V3.0의에서
을, 당신은 얻을 ' 낮은 메모리 경고 ', CCAppDelegate 자동으로 캐시 된 데이터를 제거합니다.
// purge memory
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
[[CCDirector sharedDirector] purgeCachedData];
}
그러나 크고, 때로는 복수의 텍스처 파일을로드하고 메모리 임계 값을 초과하는 응용 프로그램의 기회가 될 수있는 경우, 메모리를 낮게 유지하는 것은 도움이 될 수 있습니다.
사용하지 않는 데이터를 제거하면 프로그램에 영향을 줄 수있는 메모리 누수 또는 버그가있는 코드를 제거하는 데 도움이 될 수도 있습니다.
내가 기억한다면 잠재적 인 보존주기 (애니메이션 등)를 없애기 위해 아무것도 제거 할 때 '정리 : 예'해야합니다. – YvesLeBorg