垃圾收集后如何保存应用程序状态? [复制]

Posted

技术标签:

【中文标题】垃圾收集后如何保存应用程序状态? [复制]【英文标题】:How can I to save Apps state after it is garbage collected? [duplicate] 【发布时间】:2020-10-07 11:58:07 【问题描述】:

在我的应用程序中,我从主要活动开始,有一个加号会带您进入一系列弹出窗口。在弹出窗口中,它具有用户可以编辑的编辑文本,以便设置按钮的标题。当按下另一个按钮时,会创建新创建的按钮。然后将新创建的按钮放在 MainActivity 上,并关闭所有弹出窗口。

我的问题是,当应用程序完全终止时(当您在概览窗口中向右滑动关闭应用程序时),您将如何保存新创建的按钮?我希望能够在我重新打开应用时,按钮仍然存在,并且应用不会返回到其原始状态。

提前谢谢你。希望这篇文章有意义。

如何保存 mainActivity 的当前状态并在重新打开时重新创建它。

【问题讨论】:

这能回答你的问题吗? How to save an activity state using save instance state? 那篇文章帮了很多忙,但如果可能的话,我如何将按钮保存在共享首选项中? 【参考方案1】:

对于这种持久性,我建议使用Shared Preferences。这将在驱动器本地保存特定信息(注意:一般不用于用户交互,仅用于您的应用业务逻辑)。

我建议您为应用所处的每个状态保存一个唯一的Integer,并且在应用启动时,您只需从Shared Preferences 中读取Integer 并手动重新创建该状态。

保存整个应用程序的状态,例如暂停代码,在 android 上即使不是不可能,也是非常复杂的。

【讨论】:

感谢您的回答。我将如何像你建议的那样建立一个整数系统?你有一个可以帮助我的教程的链接吗?抱歉,我对这一切都很陌生。 当您点击上述问题中第一次出现的“Shared Preferences”时,会提供指向Shared Preferences 的官方 Google 指南链接。 很抱歉,没有意识到它是链接的。感谢您的帮助。

以上是关于垃圾收集后如何保存应用程序状态? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

垃圾收集器

垃圾收集器与内存分配策略---垃圾收集算法

Java学习笔记3.11.1 垃圾回收 - 垃圾回收的作用

垃圾收集器是不是调用 Dispose()? [复制]

如何查看 java gc 类型

Java垃圾收集算法