首页 > 解决方案 > 应用程序运行时单例丢失状态

问题描述

我正在尝试将从网络调用加载的数据存储在单例中。但不知何故,单例对象在应用程序运行时变为空。

我基本上所做的是将来自网络 API 的负载数据保存在一个单例中。用户对象是在成功登录时设置的,但是当我在按钮单击时访问相同的用户对象时,它会给我一个空指针异常。我用共享偏好替换了实现,一切正常。我不明白的是,在您运行应用程序时,单身人士仍然存在。当应用程序进程仍然存在时,我的单例如何丢失状态?

标签: androidsingleton

解决方案


你在哪里实例化你的单例?如果在 Activity 中,则该 Activity 可能超出范围(就像暂停时一样),并且它的一些变量被无效。您可以尝试在 Application 对象中实例化它。这永远不会超出应用会话生命周期的范围。


推荐阅读