了解Android中游戏的开始和停止

时间:2012-11-05 21:23:59

标签: android android-activity game-engine

我正在Android中开发视频游戏。对于它,我正在使用一个游戏循环和它所包含的所有典型的东西。我对android中的活动状态有疑问。

我需要一个活动来创建GLSurfaceView,因此,问题是活动,当它完成onCreate方法时,继续这样:onCreate - > onResume - > onStart - >的onStop。 我想它会贯穿这些状态,因为活动没有任何事情可做,而且循环工作正在进行中。但是这个行为有问题:

我如何知道用户何时“最小化”或将设备置于待机状态?再次,方法onStop - > onResume - > onStart会触发,但是,我怎么能把这个时间与第一个区别开来?

我需要在用户将设备切换到待机状态时停止循环,但不是在第一次启动时停止循环。

我希望我已经解释得很好。感谢。

1 个答案:

答案 0 :(得分:0)

如果在onStart之后立即运行onStop,则出现问题。只有当用户不再可见时,活动才会处于“已停止”状态。除非您的代码可能立即创建另一个活动,将其替换为前景活动,我猜,但如果活动在屏幕上可见,则onStop不应该被触发。有些代码可能有助于诊断。

onPause在活动仍然可见时发生,但还有另一个活动正在恢复。如果您在用户退出应用程序时尝试保存游戏数据或其他内容,接听电话,关闭屏幕等,我会使用onPause,因为无法保证调用onStop并且您运行在您可以做您需要做的事情之前,系统在某些情况下杀死您的活动的风险。

有关活动生命周期的更多信息,请参阅Activities guide