1

是否可以在 Cocos2D 应用程序中列出所有活动节点(我也感兴趣的动作和动画)?

目前我正在解决应用程序中的内存问题,即使分析器对此有所帮助,我也想尝试其他方法。

4

1 回答 1

1

您可以递归地列出所有子节点。起始节点将是您的场景。对于动作,我知道您可以获得给定节点的动作数量,但我不知道是否可以以某种方式列出所有动作。

此外,您可以使用 CCTextureCache 来检查是否所有未使用的纹理都已从内存中删除。它没有访问此数据的公共方法,但您可以在调试器中查看加载的纹理名称或添加一些转储方法。

为了通过在节点上安排一些要从父节点删除的操作来防止内存泄漏,请在cleanup从父节点删除之前向所有节点发送消息。或者,如果它是您的类的实例,请[self cleanup];使用它的onExit()方法。

我不认为您可以收到所有已创建节点的列表。这听起来像 .net 中的垃圾收集 =) 在 Objective-C 中,您必须自己注意泄漏的对象。

于 2012-06-05T16:04:54.240 回答