태그 : CCSpriteFrameCache
2010/03/01 Cocos2D에서 통짜 Sprite화일 쉽게 사용하는 법 [3]
CCSpriteFrameCache를 이용해서 plist로 관리를 하게 됩니다.
그런데, 더 이상 사용하지 않을 plist는 제거를 해두면 되는데..
명시적으로 plist를 제거했음에도 깔끔하게 제거가 안되고 메모리를 계속 차지하고 있더군요.
그래서, 삽질을 좀 하다가 코드를 보니..
CCSpriteFrameCache에 추가할때 CCTextureCache에 texture를 등록하는데 제거할 때는 그냥 두더군요.
아마 다른데서 계속 사용하라는 배려인거 같은데..
plist 통째로(모든 스프라이트 포함이겠죠) 명확히 필요가 없는 시점에서는
아래와 같이 두 cache에서 모두 제거를 해야 메모리가 정확히 해제가 됩니다.
// plist추가!
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"test.plist"];
// plist 완벽 제거!
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFramesFromFile:@"test.plist"];
[[CCTextureCache sharedTextureCache] removeTextureForKey:@"test.png"];
removeUnused...시리즈의 함수랑은 의미가 좀 다릅니다.
Run with Performance Tool - Allocations로 꼭 메모리 사용량 확인해 주는 센스~
# by | 2010/11/08 23:02 | 개발 | 트랙백 | 덧글(2)

# by | 2010/03/01 00:05 | 개발 | 트랙백 | 덧글(3)
◀ 이전 페이지 다음 페이지 ▶