我在特定场景中有Sprite,Spine骨架,Audio对象。当第一个场景进入然后是第二个场景时,我希望释放第一个场景完成的所有分配。
怎么做.. ??
非常感谢任何帮助!!
答案 0 :(得分:1)
如果您释放了第一个场景,并且所有精灵和脊椎骨架都是addChild-ed到场景(或场景的孩子)而没有任何其他引用,则所有精灵和脊椎骨架将自动释放。不用担心那些。
如果您预装了音频效果,则应该卸载这些音频效果。
但精灵和脊椎骨骼的纹理不会自动释放。 TextureCache保留纹理以进一步加载。所以你应该逐个调用removeUnusedTextures或removeTexture / removeTextureForKey。
cocos2d::TextureCache::getInstance()->removeUnusedTextures();
“How to Optimise Memory Usage”是调查内存使用情况和TextureCache的好文档。