本人第一次接触cocos2d-x,以前一直从事ios应用开发。求大神解答。公司第一个款塔防游戏,目前正在收尾阶段,最近在做ios真机上做内存测试,发现问题太雷人。进入第一个关卡内存占用量155M,
尼玛,塔防游戏啊有这么坑爹吗?而且还存在内存泄露,2分钟增加了10M左右
经过测试场景切换后(replaceScene)原先场景中的图片、精灵、动画仍然存在内存当中,并且占用的内存还在递增,释放的方法:
//清理缓存
void CChooseLevelsScene::releaseCaches(){
CCAnimationCache::purgeSharedAnimationCache();
CCSpriteFrameCache::sharedSpriteFrameCache()->removeUnusedSpriteFrames();
CCTextureCache::sharedTextureCache()->removeUnusedTextures();
}
void CChooseLevelsScene::BackHomeCallback(cocos2d::CCObject *pSender){
CCScene pScene = CThemeScene::scene();
if (pScene != NULL) {
CCTransitionFade transitionScene = CCTransitionFade::create(0.3, pScene);
CCDirector::sharedDirector()->replaceScene(transitionScene);
//清理缓存
releaseCaches();
}
}
我在切换场景后释放缓存,网上说replaceScene会自动释放是个界面的缓存,根本就是个坑,大家可以在ios真机上亲测,页面切换时手动清理缓存之后就没有出现过内存暴涨的情况。
经过上面的处理进入关卡是内存占用量已降低为89M左右,虽然已经少了将近60M,但问题依然存在。
在windows上游戏占用内存约45M,为何在ios上却有将近90M,求解
我用的是cocos2d-x 2.2.0,求大神提示
![C9Z(@F}NFY0D82P9P5]`J]0.jpg](http://cdn.cocimg.com/bbs/attachment/Fid_41/41_15636_fa060e519669097.jpg)
![0BBB0]6`X%A%E8)BR%HS}H1.jpg](http://cdn.cocimg.com/bbs/attachment/Fid_41/41_15636_1591a8f35303d04.jpg)
