首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推送ViewController到CCScene占用moreTime和更多内存?

推送ViewController到CCScene占用moreTime和更多内存?
EN

Stack Overflow用户
提问于 2013-12-28 13:46:09
回答 1查看 170关注 0票数 1

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

ViewController to CCScene推送代码如下:

代码语言:javascript
复制
CCDirectorIOS *director_ = (CCDirectorIOS*) [CCDirector sharedDirector];

[director_ pushScene:[HelloWorldLayer scene]];

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

我之所以使用上面的代码,是因为每次我都想调用CCScene+(id)init方法。

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

代码语言:javascript
复制
[self.navigationController pushViewController:[CCDirect SharedDirect] animated:YES];
EN

回答 1

Stack Overflow用户

发布于 2013-12-30 20:21:44

无论何时运行此命令:

代码语言:javascript
复制
[director_ pushScene:[HelloWorldLayer scene]];

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

如果您确实在视图控制器释放时“关闭”了控制器,那么cocos2d将不得不每次重新初始化自己,这是一个耗时的过程。在场景中加载的纹理越多,效果就越好。这就解释了呈现视图控制器之间的延迟。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20811470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档