gpt4 book ai didi

android - onSaveInstanceState 和 finish()

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:24 24 4
gpt4 key购买 nike

小问题:是否可以使用onSaveInstanceState() 方法保存数据,然后在Activity 和下次启动时调用finish()savedInstanceState 中取回数据?还是 Activity 的 finish() 意味着数据消失了?

如果第一个答案是正确的,我在实现中遇到了一些问题,因为尽管数据已保存,但我在 onCreate() 中得到了 null。如果第二个答案是正确的,我将不得不重新考虑如何将我的 Activity 连接在一起 :o)

最佳答案

Is it possible to save data using onSaveInstanceState() method, then call finish() on Activity and upon next start of the Activity to get the data back in savedInstanceState?

没有。

Or does finish() of an Activity mean the data are gone?

是的。保存的实例状态 Bundle 适用于以下情况:从用户的角度来看,您的 Activity 仍然存在,但由于技术原因正在被销毁:

  • 配置更改(例如,屏幕旋转)
  • 进程终止(用户很快返回您的应用)

如果 finish() 因其他原因被调用——您直接调用它,用户按下 BACK 等——那么保存的实例状态不再需要,可以丢弃。

因此,保存的实例状态 Bundle 用于临时数据,您希望保留这些临时数据,但在面对配置更改和进程终止时又愿意丢失这些临时数据,例如部分填写的表格。

关于android - onSaveInstanceState 和 finish(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36841033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com