具有许多场景的Cocos2D项目无法正确释放内存
我有一个很大的问题,我不明白为什么会发生.情况就是这样:
>在Cocos2D中有10个场景的精彩项目.每个场景都是一本带有巨大精灵的书页.它使用Kobold2D 1.0.2实现. 事实上,当我开始这个项目时,一切看起来都很完美,但是对于我制作的每个场景(页面),内存都在增加. Page1:30Mb.,Page2:40,Page 3:54,Page 4:65 …在7或8个场景之后,Instruments,Xcode或iPad本身挂起应用程序而没有任何消息(除了具有最终低内存警告的仪器) . 为什么每个场景后都没有释放内存?也许是因为ARC和没有超级dealloc变量.为什么纹理看起来完全卸载但似乎没有卸载因为内存在崩溃之前无法控制地增长?
我遇到了类似的记忆保留问题,仪器上没有泄漏.我无法得到 – (void)dealloc甚至被调用,直到我将以下内容写入每个场景的.m文件:
-(void) onExit { //unschedule selectors to get dealloc to fire off [self unscheduleAllSelectors]; //remove all textures to free up additional memory. Textures get retained even if the sprite gets released and it doesn't show as a leak. This was my big memory saver [[CCTextureCache sharedTextureCache] removeAllTextures]; [super onExit]; } 实现之后,我的内存在每个replaceScene:被调用后被释放.希望这对你有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |