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