当前位置: 首页 > 知识库问答 >
问题:

Android:生命周期,onRestoreInstanceState在手机打开时未调用

萧凡
2023-03-14

我在活动类中使用这些函数:onSaveInstanceState onRestoreInstanceState onPause onCreate

当用户启动活动时,onCreate会被调用,当用户结束时,onPance会被调用。到目前为止还不错。

但是当用户旋转手机时,onPence onSaveInstanceState onCreate会被调用。我本以为在onCreate之前会有onRestoreInstanceState。为什么会这样,如果没有,我应该如何处理用户界面数据的初始化?

共有1个答案

公良琛
2023-03-14

在onCreate之前,我会期望onRestoreInstanceState。

onRestoreInstanceState()的文档明确指出:

当活动从先前保存的状态重新初始化时,将在onStart()之后调用此方法,这里在savedInstanceState中给出。大多数实现只需使用onCreate(Bundle)来恢复它们的状态,但有时在完成所有初始化之后在这里进行恢复,或者允许子类决定是否使用默认实现,这样做很方便。

如果您希望使用onCreate()中的Bundle初始化UI,可以这样做。

 类似资料:
  • Activity生命周期 在上面的图中存在不同状态之间的过渡,但是,这些状态中只有三种可以是静态,也就是说 Activity 只能在三种状态之一下存在很长时间。 继续:在这种状态下,Activity处于前台,且用户可以与其交互(又称为运行态,在调用 onResume() 方法调用后)。 暂停:在这种状态下,Activity被在前台中处于半透明状态或者未覆盖整个屏幕的另一个Activity—部分阻挡

  • 本文向大家介绍Android Service生命周期?相关面试题,主要包含被问及Android Service生命周期?时的应答技巧和注意事项,需要的朋友参考一下 onCreate() 首次创建服务时,系统将调用此方法。如果服务已在运行,则不会调用此方法,该方法只调用一次。 onStartCommand() 当另一个组件通过调用startService()请求启动服务时,系统将调用此方法。 onD

  • Cocos Creator 为组件脚本提供了生命周期的回调函数。用户只要定义特定的回调函数,Creator 就会在特定的时期自动执行相关脚本,用户不需要手工调用它们。 目前提供给用户的生命周期回调函数主要有: onLoad start update lateUpdate onDestroy onEnable onDisable onLoad 组件脚本的初始化阶段,我们提供了 onLoad 回调函数

  • # 生命周期回调 Cocos Creator 3D为组件脚本提供了生命周期的回调函数。用户只要定义特定的回调函数,Creator 3D就会在特定的时期自动执行相关脚本,用户不需要手工调用它们。 目前提供给用户的生命周期回调函数主要有: onLoad start update lateUpdate onDestroy onEnable onDisable onLoad 组件脚本的初始化阶段,我们提

  • 我有一段代码,调用startActivityForResult()从Android gallery中挑选图像。在调用startActivityForResult()和激活onActivityResult()时,我很难理解片段的生命周期。 “我的活动”检索信息并将其加载到listview。然后,它允许用户通过使用startActivityForResult()向照相机/多媒体资料应用程序发送意图,将

  • 我从这里的开发指南中读到了android活动的生命周期。现在我混淆了哪部分代码驻留在哪种方法中,比如onCreate、onStart、onResume、onRestart、onPause、onResume、onStop和OnDestroy。你能帮我把它们放在正确的地方吗。而且,即使应用程序最小化,跟踪也应该继续。我有以下代码。 }