打电话回家

时间:2012-11-07 16:14:31

标签: android

我运行我的Android应用程序,当我按下主页按钮并返回应用程序。一切都得以维持(得分,状态等等)。假设它进入OnPause OnResume。

然而,当我在运行我的应用程序时接到电话,然后我的应用程序状态被重置(分数已经消失..等等。)

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

当您的应用进入后台时,Android操作系统会根据当前因素(例如可用内存)决定是否应该终止应用。如果用于维护onPaused()状态的应用的资源不足,则会将其销毁(onStop()后跟onDestroy())。

  

它不应该通过onPause / OnResume吗?

基于以上和documentation,然后肯定会进入onPause,但之后会进入其他阶段。

这是一个方便的图像,可以帮助您阅读知道的文档。

Android Activity Lifecycle