当没有任何事情发生时,应用程序崩溃在设备上的cocos2d应用程序中

时间:2012-01-17 05:47:40

标签: iphone debugging cocos2d-iphone

我正在制作一个有点简单的游戏,现在我正在测试我认为是设备上应用程序的裸骨版本,我一直在反复崩溃。我在实际设备上调试时相当新,所以任何帮助都会很棒。

真正奇怪的部分是,当没有任何东西射击时它通常会崩溃。没有触摸,没有动画,没有任何事情发生。我已经尝试运行仪器来检查内存泄漏。我找到的只是在菜单场景中创建的两个对象。

我正在使用

更改场景
Game *game = [Game nodeWithPlayers:arr Tutorial:NO];
[[CCDirector sharedDirector] replaceScene:game];

将一些数据(主要是玩家数量)发送到游戏场景。我在菜单场景的dealloc中发表了评论,然后它就会发生,所以我知道这种情况正在发生。

报告为内存泄漏的两个对象是我的MenuManager对象,它有助于菜单场景中的某些菜单动画和位置,以及我的SoundManager对象,此时此按钮上只播放几个wav文件和一个9mb mp3作为背景音乐。我只是不明白为什么如果菜单场景被解除分配,那些对象甚至会持久...

我不知道从哪里开始调试这些看似随机的崩溃。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果它在模拟器上没有崩溃并且崩溃是“静默”的,那么它似乎是内存开销。如果您一次加载所有资源,控制台中将没有内存警告。

尝试使用Instruments中的Activity Monitor运行应用程序 - 它可以测量实际内存使用情况。并尝试跳过加载纹理(在CCTexture2D类注释glTexImage2D(...)内。