博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

cocos2d游戏界面卡住,声音正常播放的问题分析

Posted on 2012-11-03 20:19  扬名  阅读(685)  评论(0编辑  收藏  举报

从目前已知的情况看,出现这种情况只可能是设备的内存不够导致的。

从代码上来说内存不够时会调用AppController的“- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application;"方法。

// purge memory
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
    [[CCDirector sharedDirector] purgeCachedData];
}

由于cocos2d释放了“没用”的内存,因此画面卡住了。而且切换到后台再次切换回前台时由于没有先前的数据,会导致崩溃。

当然,解决办法还是得避免内存泄露,同时尽量架构优雅,占用更好的内存。