Java 游戏失去焦点后计时器不恢复

Java 游戏失去焦点后计时器不恢复,java,timer,libgdx,Java,Timer,Libgdx,我有一个经常性的任务。我以标准方式安排它(Timer是libgdx之一:com.badlogic.gdx.utils.Timer): 当用户想要暂停游戏时,我调用: Timer.instance().stop(); 暂停任务的执行。当用户恢复游戏时,我调用: Timer.instance().start(); 这很好,但如果用户: 暂停比赛 使游戏失去焦点(例如,通过聚焦不同的窗口) 继续比赛 该任务再也不会被触发。有没有办法解决这个问题 更新 我在libgdx中将此问题作为一个可能的

我有一个经常性的任务。我以标准方式安排它(
Timer
libgdx
之一:
com.badlogic.gdx.utils.Timer
):

当用户想要暂停游戏时,我调用:

Timer.instance().stop();
暂停任务的执行。当用户恢复游戏时,我调用:

Timer.instance().start();
这很好,但如果用户:

  • 暂停比赛

  • 使游戏失去焦点(例如,通过聚焦不同的窗口)

  • 继续比赛

    该任务再也不会被触发。有没有办法解决这个问题

  • 更新
    我在
    libgdx
    中将此问题作为一个可能的bug打开:

    事实证明,这确实是libgdx中的一个bug。过去是,现在这个问题消失了(我使用的是
    libgdx
    1.6.2-SNAPSHOT版本)


    感谢libgdx的伟大团队

    是否覆盖onSaveInstanceState()和onRestoreInstanceState()?您可能需要重新安排还原时的任务。Timer.schedule在onCreate或onStart中也会发生吗?如果它在onStart中,您可能会认为它会在重新启动时被重新调度。@JimW目前不会覆盖这些方法。我正在试图了解这是不是一个
    libgdx
    问题,或者我没有像我应该的那样使用
    计时器。你可能会阅读一些关于Android生命周期的文章。你的应用程序应该准备好保存它的内部状态(如果你有),以防设备想要调出你的应用程序和/或使另一个应用程序聚焦。@JimW这个问题不是android特有的。我在MacBook上运行游戏时遇到的问题。这就是为什么我怀疑它与Android的生命周期有关。@user2016436您应该写一个自己的答案,并标记为已被未来读者接受。:)
    
    Timer.instance().start();