释放 CCScheduler 时,啥可能导致我的程序冻结?

Posted

技术标签:

【中文标题】释放 CCScheduler 时,啥可能导致我的程序冻结?【英文标题】:What might cause my program to freeze when deallocing CCScheduler?释放 CCScheduler 时,什么可能导致我的程序冻结? 【发布时间】:2012-11-08 21:01:04 【问题描述】:

最近,当我的游戏尝试切换到另一个场景时,一切都冻结了。 Xcode 只报告这个:

cocos2d: deallocing <CCScheduler: 0x5a9800>

我不太确定为什么会这样。我放了一些断点,好像卡在了

CCARRAY_FOREACH(children_, child)
    child.parent = nil;

这是来自CCNode dealloc 方法的代码。虽然我还是不知道发生了什么。

这个问题:cocos2D deallocing CCScheduler 似乎和我有类似的问题。但是,据我所知,我最近从未做过任何与他在回答中提到的触摸相关的事情。

什么可能导致这个问题?我知道我不能让你告诉我是什么原因造成的,但一个线索就足够了。

cocos2d-iphone, 1.0.1, iPhone 4.

【问题讨论】:

【参考方案1】:

...我在转移时使用[[CCDirector sharedDirector]popScene] 而不是replaceScene。如果我没记错的话,在更高级别上确实没有其他CCScene

【讨论】:

以上是关于释放 CCScheduler 时,啥可能导致我的程序冻结?的主要内容,如果未能解决你的问题,请参考以下文章

scheduleOnce时出错,CCScheduler#scheduleSelector. Selector already scheduled. Updating interval from: 0

C++ 关于内存泄露问题。内存泄露是指用new 分配的内存没有用delete释放,如果未释放会有啥后果?

qthreadnew不释放

在 C 中释放内存需要啥?

为啥我的 NSNotification Observer 在消息运行时被释放?

我的编译行和我的 makefile 之间有啥区别可能导致错误?