cocos2d-x 3.0 이후부터 기본으로 탑재되는 json 파서인 rapidjson
파일을 읽고 파싱을 하고 프로그램을 종료했더니
메모리 릭이 좌르르륵
알고봤더니 끝날때 Document를 RemoveAllMember()을 해줘야 하고 원래 filestring은 파싱하고 지워도 됨.
1 2 3 4 5 | unsigned long bufferSize = 0; const char* fileName = FileUtils::fullPathFromRelativePath("data/StringData.json"); unsigned char* generateFile = FileUtils::getFileData(fileName, "rb", &bufferSize); m_document.Parse<kParseStopWhenDoneFlag>((const char*)generateFile, bufferSize); | cs |
파일을 읽은 후
1 2 | delete generateFile; generateFile = NULL; | cs |
파일 string은 delete
1 | m_document.RemoveAllMembers(); | cs |
를 반드시 해줘야 메모리 릭이 생기지 않음
cJSON 쓸때도 CRT 메모리 릭이 있었는데 Visual Leak Detector 는 없었지만
근데 이렇게 다 지워주면 둘다 메모리 릭이 나지 않음
'Cocos2D' 카테고리의 다른 글
cocos2d-x UTF-8 파일 제대로 읽기 (0) | 2016.04.06 |
---|---|
CCNotificationCenter을 사용한 Scene 재시작 (0) | 2016.03.29 |
cocos2d-x Singleton(싱글톤) macro (0) | 2016.03.17 |
Cocos2d-x 에서 사용하는 Singleton (2) | 2016.03.15 |
Cocos2d-x에서 사용한 Observer Pattern (0) | 2016.03.15 |