首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否在方法末尾调用super.onSaveInstanceState(outState)?

在Android开发中,通常在Activity或Fragment的生命周期方法onSaveInstanceState()中保存当前界面的状态数据,以便在Activity或Fragment重新创建时恢复状态。在这个方法的末尾,可以选择调用super.onSaveInstanceState(outState)来确保父类的实现也能保存其自身的状态。

调用super.onSaveInstanceState(outState)的主要目的是为了保证父类能够正确地保存其自身的状态数据。父类的实现可能包含一些重要的状态信息,例如视图层次结构的状态、用户交互的状态等。如果不调用super.onSaveInstanceState(outState),可能会导致父类的状态数据丢失,从而影响界面的正确恢复。

在调用super.onSaveInstanceState(outState)之前,可以根据需要自行保存当前界面的状态数据到outState参数中。outState是一个Bundle对象,可以使用putXXX()方法将数据保存到其中。保存的数据可以是基本类型、Parcelable对象或Serializable对象等。

总结起来,是否在方法末尾调用super.onSaveInstanceState(outState)取决于具体情况。如果需要保留父类的状态数据,就应该调用super.onSaveInstanceState(outState),否则可以选择不调用。在调用super.onSaveInstanceState(outState)之前,可以根据需要保存当前界面的状态数据到outState中。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iothub
  • 移动应用托管服务(Serverless Cloud Function):https://cloud.tencent.com/product/scf
  • 分布式文件存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙:https://cloud.tencent.com/solution/virtual-universe
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析

) { super.onSaveInstanceState(outState); } } 2....outState 参数; 调用时机 : Activity 容易被销毁的时候调用, 注意是容易被销毁, 也可能没有销毁就调用了; -- 按下Home键 : Activity 进入了后台, 此时会调用方法...:  -- 用户主动销毁不会调用 : 当用户点击回退键 或者 调用了 finish() 方法, 不会调用方法; -- 调用时机不固定 : 该方法一定是 onStop() 方法之前调用, 但是不确定是...id 的组件才会保存; -- 关于默认的 super.onSaveInstanceState(outState) : 该默认的方法是实现 组件状态保存的; (3) onRestoreInstanceState...) { super.onSaveInstanceState(outState); outState.putString("octopus", "www.octopus.org.cn");

39020

保存数据返回后可以继续编辑

{   super.onSaveInstanceState(outState);           outState.putString("temp", temp);       }   }</span...如果调用onSaveInstanceState()方法, 调用将发生在onPause()或onStop()方法之前. ...由上所述, 如果开发者需要覆写onSaveInstanceState()方法, 一般会在第一行代码中调用方法的默认实现: super.onSaveInstanceState(outState)....是否需要覆写onSaveInstanceState()方法 既然该方法的默认实现可以自动的保存UI控件的状态数据, 那什么时候需要覆写该方法呢?...如需要保存类中成员变量的值(见上例). onSaveInstanceState()方法适合保存什么数据 由于onSaveInstanceState()方法方法不一定会被调用, 因此不适合在该方法中保存持久化数据

815100
  • Android技能树 — Activity小结

    异常生命周期 我们看脑图就知道,异常生命周期中,我们会额外执行二个方法:onSaveInstanceState(Bundle outState)和onRestoreInstanceState(Bundle...Activity销毁的时候先通过onSaveInstanceState的Bundle参数里面,存储一些内容,然后重建时候调用onRestoreInstanceState方法传递刚才那个Bundle,...简单来说:super.onSaveInstanceState(outState);它会帮我们保存Activity的相关视图,然后分别调用每个View的onSaveInstanceState方法,比如EditText...然后super.onRestoreInstanceState(savedInstanceState);方法中会再调用每个View的onRestoreInstanceState方法,我们的EditText...其中具体的匹配规则,上面的脑图也已经写出来了: 注意点 避免隐式调用时候找不到Activity产生的报错 采用相关方法,提前判断是否有相匹配的Activity。

    13310

    Android Activity 活动的生命周期

    这个方法活动由不可见变为可见的时候调用,对资源进行加载。 onResume()。这个方法活动准备好和用户进行交互的时候调用。此时的活动一定位于返回栈的栈顶,并且处于运行状态。...这个方法系统准备去启动或者恢复另一个活动的时候调用。我们通常会在这个方法中将一些消耗CPU 的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。...这个方法活动完全不可见的时候调用,对资源进行释放。...这个方法活动被销毁之前调用,之后活动的状态将变为销毁状态。 onRestart()。这个方法活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。...@Override protected void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState

    76020

    Android-活动的生命周期(二)

    两个子活动分别加入一个TextView, 然后AndroidManifest.xml内配置DialogActivity的主题。...活动被回收怎么办 当一个活动进入停止状态,有可能被系统回收,那么当有一个活动A,A基础上启动了活动B,A进入停止状态,这时由于系统内存不足,A被回收掉,这时按下Back键还是会正常显示A,但是不会执行...Activity提供了一个onSaveInstanceState()回调方法,这个方法保证活动在被回收之前一定会被调用。...(Bundle outState){ super.onSaveInstanceState(outState); String tempData = "Something you just...typed"; outState.putString("data_key",tempData); } 数据保存了,一直使用的onCreate()方法也有个Bundle类型参数,这个参数一般情况下都是

    37120

    【Android 插件化】“ 插桩式 “ 插件化框架 ( 代理 Activity 组件开发 )

    类对象 , ProxyActivity 声明周期方法调用对应 PluginActivity 类的生命周期方法 将 ProxyActivity 中要加载的全类名 , 设置成员属性中 ; /**...Activity 类的生命周期函数 , 这些生命周期函数都是 protected 方法 , 不能直接调用 , 否则每个方法调用时 , 还要先反射修改访问性 , 才能调用 ; package com.example.plugin_core...Activity 的各个声明周期函数中 , 需要调用该 PluginActivityInterface 的各个对应接口 ; onCreate 方法中 , 先获取类加载器 , 并反射 插件 Activity..., 一律调用该注入的上下文对象 , 也就是代理 ProxyActivity 的上下文 ; // 判断 Activity 组件是否是 PluginActivityInterface 接口类型的 if (...) { super.onSaveInstanceState(outState); pluginActivity.onSaveInstanceState(outState)

    68320

    Android 中意料之外的应用崩溃以及它们的解决方案

    如果你第 3 步中记下的 PID 与新的 PID 相等,则该过程并没有被终止。 建议的解决方案 有两种方法可以解决此问题。...根据你所处的情况,你可以决定用哪一个方法来推进问题的解决: 解决方案 1: 一种简便的解决方案是,当用户从后台恢复应用程序时,让应用程序检查我们现有的应用程序进程是否被结束并重新创建。... onCreate() 方法中,你需要比较当前 PID 和打包保存的 PID。 如果当前进程是是重新创建的流程,则重定向导航到 Splash Activity。...: Bundle) { super.onSaveInstanceState(outState) outState.putParcelableArrayList("userList...我们会让应用程序检查 onViewCreated() 函数中捆绑包中的数据是否可用,如果不可用,则会通过访问 ViewModel 的方法获取数据。

    1.1K10
    领券