我正在制作一个有点简单的游戏,现在我正在测试我认为是设备上应用程序的裸骨版本,我一直在反复崩溃。我在实际设备上调试时相当新,所以任何帮助都会很棒。
真正奇怪的部分是,当没有任何东西射击时它通常会崩溃。没有触摸,没有动画,没有任何事情发生。我已经尝试运行仪器来检查内存泄漏。我找到的只是在菜单场景中创建的两个对象。
我正在使用
更改场景Game *game = [Game nodeWithPlayers:arr Tutorial:NO];
[[CCDirector sharedDirector] replaceScene:game];
将一些数据(主要是玩家数量)发送到游戏场景。我在菜单场景的dealloc中发表了评论,然后它就会发生,所以我知道这种情况正在发生。
报告为内存泄漏的两个对象是我的MenuManager对象,它有助于菜单场景中的某些菜单动画和位置,以及我的SoundManager对象,此时此按钮上只播放几个wav文件和一个9mb mp3作为背景音乐。我只是不明白为什么如果菜单场景被解除分配,那些对象甚至会持久...
我不知道从哪里开始调试这些看似随机的崩溃。有什么建议吗?
答案 0 :(得分:1)
如果它在模拟器上没有崩溃并且崩溃是“静默”的,那么它似乎是内存开销。如果您一次加载所有资源,控制台中将没有内存警告。
尝试使用Instruments中的Activity Monitor运行应用程序 - 它可以测量实际内存使用情况。并尝试跳过加载纹理(在CCTexture2D
类注释glTexImage2D(...)
内。