我运行我的Android应用程序,当我按下主页按钮并返回应用程序。一切都得以维持(得分,状态等等)。假设它进入OnPause OnResume。
然而,当我在运行我的应用程序时接到电话,然后我的应用程序状态被重置(分数已经消失..等等。)
为什么?它不应该通过onPause / OnResume吗?
答案 0 :(得分:2)
当您接到电话时,它会通过onPause
和onStop
,当它再次被带到前面时,会经过onStart
和onResume
。它也可能会通过onDestroy
,当你把它带回来时会导致它通过onCreate
。建议在每个生命周期方法中放置Log
语句,以查看哪些被调用(或调试器中的断点)。然后你会知道恢复游戏的方法。
实际上,您应该实施该应用,以便它可以通过onDestroy
并以您想要的方式再次启动时恢复。
答案 1 :(得分:2)
当您的应用进入后台时,Android操作系统会根据当前因素(例如可用内存)决定是否应该终止应用。如果用于维护onPaused()
状态的应用的资源不足,则会将其销毁(onStop()
后跟onDestroy()
)。
它不应该通过onPause / OnResume吗?
基于以上和documentation,然后肯定会进入onPause
,但之后会进入其他阶段。
这是一个方便的图像,可以帮助您阅读知道的文档。