Mam duszki, szkielety kręgosłupa, obiekty audio w konkretnej scenie. Kiedy ta 1. Scena przeminie, a następnie „2. Scena”, chcę, aby wszystkie alokacje dokonane przez 1. Scenę zostały uwolnione.
Jak to zrobić..??
Każda pomoc byłaby bardzo mile widziana !!
Odpowiedzi:
1 dla odpowiedzi № 1Jeśli wydałeś pierwszą scenę i wszystkoduszki i szkielety kręgosłupa zostały dodane do sceny (lub dzieci sceny) bez żadnych innych odniesień, wszystkie duszki i szkielety kręgosłupa zostaną automatycznie zwolnione. nie martw się o to.
Jeśli wcześniej załadowałeś efekty dźwiękowe, powinieneś je rozładować.
Ale tekstury duszków i kręgosłupaszkielety nie zostaną zwolnione automatycznie. TextureCache zachowuje tekstury do dalszego ładowania. Powinieneś więc wywoływać removeUnusedTextures lub removeTexture / removeTextureForKey jeden po drugim.
cocos2d::TextureCache::getInstance()->removeUnusedTextures();
"Jak zoptymalizować wykorzystanie pamięci”jest dobrym dokumentem do badania wykorzystania pamięci i TextureCache.