android中单例的问题

2024-06-28

我有一个 Android 应用程序,其中有几个活动。每个活动都会下载一个 xml/json 提要,对其进行解析并将其推送到一个单例(通常作为数组列表)。

然而,在经历了各种活动之后,单例似乎正在消亡,并且大多数早期下载的数组列表现在都是空的。为什么会这样呢?单例不是跨活动共享数据的推荐做法吗?


添加我的评论作为答案

如果您想在活动之间保留全局变量,请将其保留在应用程序中。从 Application 扩展一个类并将其添加到您的 AndroidManifest 文件中。

来自 @rekaszeru 分享的 Android API 常见问题解答

单例类

您可以利用您的应用程序组件这一事实 通过使用单例在同一进程中运行。这是一个 设计为只有一个实例的类。它有一个静态 名称为 getInstance() 的方法,返回实例; 第一次调用此方法时,它会创建全局实例。 因为所有调用者都获得相同的实例,所以他们可以使用它作为 交互点。例如,活动 A 可以检索实例 并调用 setValue(3);稍后的活动 B 可能会检索实例并 调用 getValue() 检索最后设置的值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android中单例的问题 的相关文章

随机推荐

  • C# 中任务的 System.InvalidOperationException

    我试图通过使用任务 Parallel foreach 使我的代码更快 这是我更新的代码 int intImageW intImageH Bitmap bmpDest new Bitmap 1 1 DateTime creationTime
  • 解释 tf diff

    使用 Visual Studio 2008 工具 我正在尝试获取更改集 14318 和 14317 的 ASCII 差异 我可以使用 GUI 来做到这一点 tf changeset 14318 然后选择一个文件并右键单击并选择与以前的版本进
  • Xcode 8 - 丢失文件警告

    自从使用 Swift 2 3 升级到 Xcode 8 我有几个丢失文件的警告 它们都与我正在使用的 pod 有关 丢失的文件是 xcscheme cpp xcuserstate swift 显示丢失文件的 pod 是 领域 38 43 Te
  • 如何在张量流中将张量的某些值设置为零值?

    我想要稀疏卷积核 所以我需要在训练过程中将内核中的一些值设置为零值 张量流中是否有一些API可以帮助我实现我的想法 将张量中的某些值设置为零 您可以使用tf boolean mask https www tensorflow org api
  • Django 视图有一个意外的关键字参数

    我有以下网址模式 urlpatterns pattern url r edit offer P
  • 媒体查询在 IE9 中不起作用

    我遇到了一个奇怪的问题 只有 IE9 才会出现 我正在开发一个具有桌面布局和移动布局的网页 相同的 HTML 不同的 CSS 问题发生在下面的代码中 media only screen and min device width 768px
  • 如何在Delphi XE4中将富文本RTF转换为纯文本或HTML?

    在 Delphi XE4 FireMonkey 中 我在来自数据库的流中有一些 RTF 它仅使用字体 大小 粗体和斜体 如何提取纯文本或将其转换为 HTML 我可以以某种方式使用JVCL s即使我正在使用组件FireMonkey None
  • 加速结构化 NumPy 数组

    NumPy数组在性能和易用性方面都非常出色 比列表更容易切片 索引 我尝试构建一个数据容器NumPy structured array代替dict of NumPy arrays 问题是性能要差得多 使用同质数据的情况大约是 2 5 倍 而
  • 在 WSO2 ESB 4.6 中访问已发布的 WS 代理时出错:找不到 EPR

    我在 4 5 1 和 4 6 中部署了完全相同的 WS proxy 在 4 5 1 中它可以正常工作 但在 4 6 中我得到 ERROR AxisEngine The endpoint reference EPR for the Opera
  • 如何解析日期格式?

    在我的应用程序正在使用的 Web 服务之一中 我遇到了以下日期时间格式 Date 1395780377459 这是某种标准的日期格式吗 如果是这样 如何将其解析为 DateTime 对象 EDIT 感谢您的评论 所以 Date 139578
  • 关闭 Quartz .Net 中的调试日志记录

    我正在使用 Quartz NET 在我们的应用程序中安排一些自定义任务 一切工作正常 只是它在一秒钟内记录大约二十个调试条目 我不知道如何关闭调试日志记录 任何帮助将非常感激 因为我一直试图在网上查找但没有运气 调试条目如下所示 DEBUG
  • 如何在 Rails 中为不在模型文件夹根目录中的模型定义工厂女孩?

    我想为我的服务器中的模型创建一个工厂女孩 该模型位于模型文件夹的文件夹内 我的树视图如下所示 app models xxx user rb spec factories xxx user rb 我的工厂女工长这样 FactoryGirl d
  • C++ 限制语义

    我正在更新性能关键库以使用限制 如 g 和 MSVC 在 C 11 中使用关键字实现的那样 restrict 这似乎是最标准的扩展 所以我将使用restrict and restrict可以互换 restrict是一个 C99 关键字 但编
  • 如何手动向我刚刚生成的进程发送消息?

    如何使用 Erlang 发送消息进行处理 我确实启动了一个进程 输出显示 pid 进程标识符 是 lt 0 39 0 gt 我的问题是如何向此进程发送消息 lt 0 39 0 gt 手动 While list to pid 1确实可以用来构
  • 直接将数据放入AppEngine的Blobstore中

    AppEngine 的标准 API 假定文件是从 HTML 表单上传的 我正在尝试从可由非 Html 客户端 Flash iPhone 等 调用的 REST API 方法将文件发布到 blobstore 我试图运行的代码 Get the b
  • .NET 进程在 Windows 7 中进行 DNS 查找失败

    我有一个应用程序在 Windows 7 下 DNS 查找 System Net Dns GetHostEntry 失败 该应用程序在 XP 下工作正常 生成的错误是套接字错误代码 11003 WSANO RECOVERY 11003这是一个
  • 无法加载动态库“php_wincache.dll”?

    因为我已经使用 ASP NET 所以我决定在 IIS 上使用 PHP 我使用 Wep PI 安装它 但是当我尝试安装 Composer 时 他失败并出现 PHP 设置错误 我尝试将 php ini 中的 extension dir 更改为绝
  • 指针类型与 PyArray_SimpleNew 不匹配

    我正在使用 C API 使用 Numpy 创建 Python 模块 并遇到与输出的奇怪的不兼容问题PyArray SimpleNew 我想了解一下 但首先是一个最小的例子 include
  • 集群故障转移

    我知道我问的是有关集群故障转移的一些非常明显的问题 我在 redis io 上读到 如果任何主集群节点发生故障 它将影响其他主节点 直到从属节点接管 在我的结构中 我没有定义任何奴隶 只是与 3 个主人一起工作 我正在考虑修改 redis
  • android中单例的问题

    我有一个 Android 应用程序 其中有几个活动 每个活动都会下载一个 xml json 提要 对其进行解析并将其推送到一个单例 通常作为数组列表 然而 在经历了各种活动之后 单例似乎正在消亡 并且大多数早期下载的数组列表现在都是空的 为