从目前已知的情况看,出现这种情况只可能是设备的内存不够导致的。
从代码上来说内存不够时会调用AppController的“- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application;"方法。
// purge memory - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { [[CCDirector sharedDirector] purgeCachedData]; }
由于cocos2d释放了“没用”的内存,因此画面卡住了。而且切换到后台再次切换回前台时由于没有先前的数据,会导致崩溃。
当然,解决办法还是得避免内存泄露,同时尽量架构优雅,占用更好的内存。