2011-10-25 94 views
1

我的游戏在iOS5上使用cocos2d崩溃后,在离开背景后离开一段时间后崩溃。我想知道标准/最佳做法是什么,处理发送到后台的应用程序。我在一段时间后终止它吗?我看到一些游戏在很长一段时间恢复时会拉起一个加载屏幕,但是当你立即恢复时,它会直接进入游戏。他们在恢复时加载了什么?如何防止应用程序/游戏在恢复后崩溃

任何正确的方向指针将不胜感激。

感谢 AC

回答

1

您可以通过adding UIApplicationExitsOnSuspend to your Info.plist退出后台执行的。

除此之外,确保您的应用在恢复执行时不会崩溃是您的工作。你必须明白,你的应用程序基本上进入暂停状态。这意味着它应该卸载所有不需要的资源,否则系统可能会终止您的应用程序的进程。

在您的应用程序委托中,您应该对applicationDidBecomeActive消息做出响应并做出相应响应,以便您的应用程序能够在没有任何问题的情况下恢复执行。这可以包括加载任何卸载的资产并检查系统设置(即语言环境,Game Center用户等)是否发生了变化。

您也可以register a didBecomeActive UINotification,这样应用程序恢复时应用程序中的任何类都会收到通知。

+0

谢谢。我现在知道了。在applicationWillResignActive上会调用以下内容吗? \t [[CCTextureCache sharedTextureCache] removeUnusedTextures]; \t [[CCSpriteFrameCache sharedSpriteFrameCache] removeUnusedSpriteFrames]; – AbhinavVinay

+0

是的,但theres导演“清除”消息,清除所有缓存 – LearnCocos2D

+0

但我想清除一切??那么当我恢复正常时,这将需要我重新加载所有内容?这安全吗? – AbhinavVinay