我随便偶然发现了一些答案:https://stackoverflow.com/a/3923131/555690陈述
如何解决内存泄漏问题 [...] 如果您从预定选择器外部切换场景或者有多个预定选择器 选择器然后你必须在切换之前取消预定。
这有什么道理吗?我对此持怀疑态度,因为当一个场景被替换时,我会想象它被解除分配,当发生这种情况时,对我来说,它将自动取消预定任何选择器。 当您要替换场景时是否需要取消选择选择器?
我正在使用cocos2d-iphone 1.0.1
。
答案 0 :(得分:0)
只需查看replaceScene:
中的CCDirector.m
实施情况。
您会发现它不会做太多的事情:它只是从数组中删除CCScene
并将其替换为新数组。
如果一切正常,这将使您的场景被取消分配。这会在dealloc
和CCScene
(CCNode
基类中调用CCScene
。您还可以检查实现,并查看这些方法对预定方法没有任何作用。
因此,你的CCScene
类需要在dealloc中进行任何必要的清理(或onExit,无论对你有什么意义)。