【发布时间】:2011-12-26 02:12:53
【问题描述】:
这个问题让我发疯了,我已经花了 5 天的时间来解决它。我在这里,迫切需要解决方案。
我正在 Cocos2d 上开发一个简单的游戏。循环方法:-(void)update:(CCTime)delta 在每个特定的时间间隔被调用。
这件事在 5 天前才开始发生,天知道为什么。在游戏循环中间的任何随机点,在游戏循环开始后大约 10 秒(可能从 5 到 20 秒不等),它会冻结,没有明显的原因。仪器不会检测到任何东西,调试器不会注意到任何东西。我注意到的是循环停止被调用。没有内存问题,或与之相关的任何事情。
没有特定的方法可以驱动这种冻结,这是完全随机的。同样的事情发生在 iPhone、iPad、iPod touch 上,无论它是否唯一运行的应用程序,以及它的 iOS 4.0 或 5.0...绝对没有从仪器中检测到泄漏,也没有 Zombie 对象。
我再说一遍,这不是崩溃,只是游戏循环中的冻结。 PS:即使图形被冻结,音乐仍然在后台运行。
我在 Xcode 4.2 上运行 iOS 5.0 和 Cocos2d 1.0.1,在 iPad 1、iPhone 4、3GS 和 iTouch 3g 上运行我的游戏,所有这些都在 iOS 5.0.1 上。同样的冻结....
有什么想法吗?请帮忙!
【问题讨论】:
-
很难提出任何建议...尝试在每个重复方法的开始和结束处插入时间戳,以记录方法内代码执行的持续时间。如果这个问题是连续的,它必须告诉你原因在哪里。也许有些代码需要那个时间(也许纹理加载?)
标签: ios xcode random cocos2d-iphone freeze