2012-01-17 78 views
0

我有一个有点简单的游戏,我正在做,现在我正在测试我认为设备上的应用程序的裸骨版本,我不断碰到崩溃,过度。我在调试实际设备方面相当新,所以任何帮助都会很棒。应用程序崩溃在设备上的cocos2d应用程序时什么都没有发生

真正奇怪的部分是,它通常会在没有任何射击时崩溃。没有接触,没有动画,没有任何事情发生。我试过运行仪器来检查内存泄漏。我发现的所有内容都是在菜单场景中创建的两个对象。

我使用

Game *game = [Game nodeWithPlayers:arr Tutorial:NO]; 
[[CCDirector sharedDirector] replaceScene:game]; 

其中的一些数据(主要是#的玩家)发送到游戏场景变化的场景。我在我的菜单场景的dealloc中发表了一条评论,并且它发生了火灾,所以我知道发生了这种情况。

作为内存泄漏报告的两个对象是我的菜单管理器对象,它可以帮助菜单场景中的某些菜单动画和位置,以及我的SoundManager对象,它目前只在按钮上播放几个wav文件, 9mb mp3作为背景音乐。我只是不明白为什么如果菜单场景被释放,这些对象甚至持续存在......

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

+0

什么是它崩溃时的控制台输出。 – Joe 2012-01-17 05:58:15

+0

唯一的错误我得到的是什么也没有在控制台典型EXC_BAD_ACCESS在所有。 – rnystrom 2012-01-17 15:33:07

回答

1

如果它在Simulator上没有崩溃并且崩溃是“无声的”,它似乎是内存开销。如果您一次加载所有资源,则控制台中不会有内存警告。

尝试使用乐器中的活动监视器运行应用程序 - 它测量真实的内存使用情况。并尝试跳过内部CCTexture2D类评论加载纹理(glTexImage2D(...)

+0

好吧,我可能已经确定这是问题所在,我该如何解决这个问题呢?我可以通过评论'glTextImage2d(...)'来玩游戏,没有崩溃。 – rnystrom 2012-01-17 18:55:17

+0

正如你所说'EXC_BAD_ACCESS'发生崩溃,这不是标准的内存开销问题。你能在崩溃时显示所有的控制台输出吗? – brigadir 2012-01-18 07:20:49

相关问题