将ViewController推送到CCScene需要更多时间和更多内存使用?

时间:2013-12-28 05:46:09

标签: ios cocos2d-iphone

朋友们,我已成功将ViewController推送到CCscene,但当我点击“按钮”时,需要5-6秒才能推送到CCScene。此外,每次内存使用增加。这不顺利。

ViewControllerCCScene推送代码如下:

CCDirectorIOS *director_ = (CCDirectorIOS*) [CCDirector sharedDirector];

[director_ pushScene:[HelloWorldLayer scene]];

[self.navigationController pushViewController:director_ animated:YES];

我正在使用上述内容,因为每次我都要调用+(id)init方法CCScene

我也在mehod下使用,但每次都不是调用+(id)init方法

[self.navigationController pushViewController:[CCDirect SharedDirect] animated:YES];

1 个答案:

答案 0 :(得分:0)

无论何时运行:

[director_ pushScene:[HelloWorldLayer scene]];

创建一个新场景并将其推送到场景堆栈。所有先前存在的场景都保留在内存中这解释了不断增加的内存使用量。要解决此问题,请改为使用replaceScene:

如果在视图控制器取消分配时“关闭”导向器,则cocos2d每次都必须重新初始化,这是一个耗时的过程。更多的是你在场景中加载的纹理越多。这可以解释呈现视图控制器之间的延迟。

我无法告诉你为什么两者都会在没有看到更多代码的情况下发生。但我敢打赌,这两个问题中的任何一个都是它的核心。