【问题标题】:How does suspend/resume work with Corona SDK?暂停/恢复如何与 Corona SDK 一起工作?
【发布时间】:2014-10-20 01:15:06
【问题描述】:

我正在使用 Corona 开发一款游戏,并试图弄清楚如何处理暂停和恢复。我有一些基本问题:

  1. 当应用程序暂停时,哪些状态数据存在风险?任何和所有?只是纹理对象?

  2. 当我捕捉到一个 applicationResume 事件时,有没有办法确定我是否需要重建之前的状态,或者暂停是否是短暂的(如对 Facebook 的调用)并且一切都完好无损?我可以检查某个专用变量是否为 nil 或仍然具有其预期值吗?

  3. 当我捕捉到 applicationSuspend 事件时,在从事件侦听器返回之前我能做的事情是否有限制? Android 或 iOS 最终会不会对挂起速度太慢的应用失去耐心?特别是,我正在考虑对我的服务器的调用;我可以确保它们在将控制权交给操作系统之前完成吗?

  4. requestExit() 到底是做什么的?由于 iOS 中没有对应的,我是否应该在我的 Android 版本中打扰它?

感谢您的帮助。

【问题讨论】:

    标签: android ios coronasdk resume suspend


    【解决方案1】:
    1. 只要您的应用程序不退出,所有状态都应保存。在 Android 上,纹理会丢失,但会在应用程序恢复时自动重建。你不必那样做。

    2. 您可能应该尝试暂停/取消任何计时器或转换,然后在您脱离安全状态时恢复它们。如果您保存了更改时通常会保存到设置文件中的内容,那么您也不必保存/恢复它们。

    3. 是的,你可以做的事情是有限度的,iOS 肯定是不耐烦的。刷新所有打开的文件并离开那里。我对 Android 不太确定,但可能同样不耐烦。

    4. 是的,如果您收到返回按钮的 keyEvent 并且您在主屏幕上,那么您应该调用 native.requestExit() 函数而不是调用 os.exit()。这将确保您的应用程序正确关闭而不是被杀死。

    罗伯

    【讨论】:

      猜你喜欢
      • 2017-05-29
      • 2012-08-27
      • 2017-05-09
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 2013-08-17
      • 2014-06-30
      • 1970-01-01
      相关资源
      最近更新 更多