0

我运行我的 android 应用程序,当我按下主页按钮并返回应用程序时。一切都被维护(分数,状态..等)。假设它转到 OnPause OnResume。

但是,当我在运行我的应用程序时接到电话时,我的应用程序状态会被重置(分数消失了..etc)。

这是为什么?它不应该通过 onPause/OnResume 吗?

4

2 回答 2

2

当你接到电话时,它会通过onPauseand onStop,当它再次被带到前面时,它会通过onStartand onResume。它也可能正在经历,当你把它带回来时,onDestroy它会导致它经历。onCreate建议将Log语句放在每个生命周期方法中,以查看哪些被调用(或调试器中的断点)。然后你就会知道采取什么方法来恢复你的游戏。

实际上,您应该实现该应用程序,以便它可以onDestroy在以您想要的方式再次启动时通过并恢复。

于 2012-11-07T16:34:29.710 回答
2

当您的应用程序进入后台时,Android 操作系统会根据当前因素(例如可用内存)决定是否应终止该应用程序。如果没有足够的资源来维持该onPaused()状态的应用程序,那么它们将被销毁(onStop()随后是onDestroy())。

它不应该通过 onPause/OnResume 吗?

根据上述和文档,是的,它确实进入了onPause,但之后它进入了其他阶段。

这是一张方便的图片,可以帮助我了解您阅读的文档。

Android 活动生命周期

于 2012-11-07T16:37:56.500 回答