在切换场景时,我是否真的需要取消选择选择器?

时间:2014-03-04 09:02:19

标签: cocos2d-iphone

我随便偶然发现了一些答案:https://stackoverflow.com/a/3923131/555690陈述

  

如何解决内存泄漏问题 [...]   如果您从预定选择器外部切换场景或者有多个预定选择器   选择器然后你必须在切换之前取消预定。

这有什么道理吗?我对此持怀疑态度,因为当一个场景被替换时,我会想象它被解除分配,当发生这种情况时,对我来说,它将自动取消预定任何选择器。 当您要替换场景时是否需要取消选择选择器?

我正在使用cocos2d-iphone 1.0.1

1 个答案:

答案 0 :(得分:0)

只需查看replaceScene:中的CCDirector.m实施情况。

您会发现它不会做太多的事情:它只是从数组中删除CCScene并将其替换为新数组。

如果一切正常,这将使您的场景被取消分配。这会在deallocCCSceneCCNode基类中调用CCScene。您还可以检查实现,并查看这些方法对预定方法没有任何作用。

因此,你的CCScene类需要在dealloc中进行任何必要的清理(或onExit,无论对你有什么意义)。