gpt4 book ai didi

java - 在 Android Studio 中丢失对静态数据的引用

转载 作者:太空狗 更新时间:2023-10-29 15:40:38 25 4
gpt4 key购买 nike

当我的应用程序进入后台时,我遇到了静态数据实例丢失的问题,导致空指针异常错误。

静态数据非常依赖于上下文或“状态”,并且不能在初始化时生成。

为确保我保留这些数据,我是否会强制将数据写入存储或以其他方式确保当应用程序进入后台时我的静态数据不会丢失?

最佳答案

静态字段是类的一部分,而不是对象。当 Android 回收内存时,静态字段也将被回收,您将丢失其中保存的所有数据。请记住,当应用程序处于后台时,操作系统可以随时为您的应用程序回收内存。

如果您有希望保留的状态,则需要将其持久保存到磁盘,在 Android 上,依赖后台内存中保存的任何内容都是一种冒险的策略。

我会为此使用共享首选项,但如果需要,您也可以使用序列化文件流。共享首选项更加简单且记录完备。

在您的 onResume() 方法中,您会读回这些值,并且您当然会将它们保存在 onPause() 中。这也让您能够处理一些情况,例如,有来电或用户切换到其他应用,即使只是片刻。

关于java - 在 Android Studio 中丢失对静态数据的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37701197/

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