如何在进入不同活动的情况下不删除 Android Studio 活动中的变量?

Posted

技术标签:

【中文标题】如何在进入不同活动的情况下不删除 Android Studio 活动中的变量?【英文标题】:How to not delete variables in an activity in Android studio with going in a different activity? 【发布时间】:2022-01-19 21:15:44 【问题描述】:

我想编写一个应用程序,但上面提到了一些大问题。我的主要活动中有一些变量,当我切换到不同的活动并再次返回时,这些变量会被重置。但我希望他们一直留在那里,直到我关闭应用程序。我认为我不能使用 SharedPreferences,因为在那里,当我关闭应用程序时,变量的值也会得到保护,而我不想这样做。请帮忙...

【问题讨论】:

有什么理由不使用静态变量? 【参考方案1】:

最有可能发生的是您的 Activity 被杀死并重新启动。发生这种情况时,您可以实现 onSaveInstanceState 和 onRestoreInstanceState 来保存和恢复重要信息。

您可以通过它执行的操作有一个限制(大约 1 MB)。它适用于简单的数据结构,但您不会以这种方式保存位图或大型网络响应。为此,您需要考虑存储内容的正确方式,以及哪些数据属于 Activity,应该在应用程序中限定范围,并且应该保存在其他地方并且只能由 Activity 访问。

【讨论】:

【参考方案2】:

这个答案https://***.com/a/15083749/12408270 可能就是你想要的。

您还可以使用 Intent.putExtra 在活动之间传递数据。

Kotlin Companion 对象也可能对您有所帮助。

【讨论】:

以上是关于如何在进入不同活动的情况下不删除 Android Studio 活动中的变量?的主要内容,如果未能解决你的问题,请参考以下文章

删除级联在这种情况下不起作用[重复]

如何在没有系统确认对话框的情况下删除 Android 11 (API 30) 上的文件?

在不启动接收活动的情况下将数据传递给活动 (Android)

Android TV:RowsFragment 项目点击在少数情况下不起作用

在android中的不同活动中设置按钮上的时间

Android:导航返回使用与工具栏相同的活动