android - 应用程序运行时单例丢失状态
问题描述
我正在尝试将从网络调用加载的数据存储在单例中。但不知何故,单例对象在应用程序运行时变为空。
我基本上所做的是将来自网络 API 的负载数据保存在一个单例中。用户对象是在成功登录时设置的,但是当我在按钮单击时访问相同的用户对象时,它会给我一个空指针异常。我用共享偏好替换了实现,一切正常。我不明白的是,在您运行应用程序时,单身人士仍然存在。当应用程序进程仍然存在时,我的单例如何丢失状态?
解决方案
你在哪里实例化你的单例?如果在 Activity 中,则该 Activity 可能超出范围(就像暂停时一样),并且它的一些变量被无效。您可以尝试在 Application 对象中实例化它。这永远不会超出应用会话生命周期的范围。
推荐阅读
- aws-api-gateway - AWS API-Keys 在创建后立即使用时会出现禁止错误
- java - 在 Swagger 中添加其他属性
- c++ - C++ 中的单链表读取的节点不超过 2 个
- android - Android Gradle:每个 buildConfig 和 Flavor 的唯一应用名称
- python - 如何更改 TextBox 对象的标签位置?
- android - 如何防止Android中TextView中的图标换行
- webpack - Webpack 5 静态文件的不同哈希
- reactjs - 如何在react上动态创建表单并一键一键提交
- django - Django:将“DEFAULT_AUTO_FIELD”添加到settings.py后,“AttributeError:类型对象'AutoField'没有属性'rsplit'”
- c++ - 如何在 C++ 中用单词显示数字的数字?