如何在进入不同活动的情况下不删除 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)