BroadcastReceiver 生命周期——静态变量

2023-11-22

我有一个 BroadcastReceiver 类。我声明了一些静态变量,其值在 onReceive() 方法中更新。据我所知,静态变量将在 onReceive 调用中保持其值。当我丢失这些值时是否有可能(比如我的类将被卸载并重置静态变量)?这些基本上是我需要可用于多个 onReceive 调用的一些临时变量。


从文档中广播接收器生命周期...

BroadcastReceiver 对象仅在调用 onReceive(Context, Intent) 期间有效。一旦您的代码从此函数返回,系统就会认为该对象已完成并且不再处于活动状态。

从系统会快速清理事物的意义上来说,这不会使静态变量的使用变得实用。我会尝试使用SharedPreferences通过调用...

context.getSharedPreferences("MyReceiver", MODE_PRIVATE)

...在接收器中onReceive(...)方法(替换"MyReceiver"使用一些对您的应用程序有意义的名称)。

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

BroadcastReceiver 生命周期——静态变量 的相关文章

随机推荐

  • 等待 .NET 4.0 中的替代方案?

    NET 4 0 中await 关键字的最佳替代方案是什么 我有一个方法需要在异步操作后返回一个值 我注意到 wait 方法完全阻塞了线程 从而使异步操作变得无用 我可以选择哪些选项来运行异步操作 同时仍释放 UI 线程 我认为你的基本选择是
  • 为什么嵌套实例化中没有可用的 TypeTag(当由 scala 代码运行程序解释时)?

    我正在尝试改变的行为List toString根据其类型参数 自从List无法扩展 它由自定义类包装CList 可能是隐含的 但问题仍然是一样的 打印时出现问题CList of CLists 以下是示例和注释中的相应输出 object Fo
  • hibernate、mysql、glassfish v3 和 JTA 数据源

    我正在尝试将 hibernate 实体管理器与 mysql 和 glassfish 一起使用 尝试使用 JTA 数据源时出现以下错误 Caused by org hibernate HibernateException The chosen
  • Docker RUN ls 显示缓存文件

    我正在尝试设置一个 docker 容器并正在使用RUN ls帮助调试 然而 当我跑步时RUN ls docker 打印出以下内容 gt Using cache gt 96223b1b0748 我希望它注销文件夹中的文件 有谁知道会发生什么
  • 创建一个带有 Action 多个参数的任务

    我想在包含操作的任务中添加多个参数 我回顾了现有的堆栈溢出问题使用操作创建任务 请帮助我如何在任务的操作方法中传递多个参数 Action
  • 使滚动条在移动浏览器中可见

    当我有一个带有可滚动内容的网页时 使用CSS属性 overflow auto 或 overflow visible 滚动条在桌面浏览器上可见 但是当我在移动浏览器上打开页面时 滚动条仅在我尝试滚动时才会出现 有没有办法让滚动条在移动设备上始
  • Rails 中的 PG pg_ext 加载错误

    我最近更新到了 Rails 4 1 6 和 ruby 2 1 3p242 我还更新了系统上的所有宝石 创建新应用程序后 我在运行服务器时不断收到 pg ext 加载文件错误 我使用的是 Windows 8 x64 和 PostgreSQL
  • 在 JavaScript 中指定 eval() 的范围?

    有什么方法可以在特定范围内执行 eval 但不是全球性的 例如 以下代码不起作用 第二条语句中 a 未定义 因为它们位于不同的范围内 eval var a 1 eval alert a 如果可能的话 我想动态创建一个范围 例如 语法肯定是错
  • 我可以将变量从 Bash 脚本导出到环境中而不需要获取它吗?

    假设我有这个脚本 导出 bash usr bin env bash export VAR HELLO VARIABLE 当我执行脚本并尝试访问 VAR 我没有得到任何价值 echo VAR 有没有办法访问 VAR只需执行export bas
  • 获取通过“attr_accessor”定义的所有变量,而不覆盖“attr_accessor”

    我正在我的程序上设置一些跟踪代码 并且想知道哪些方法是通过定义的attr accessor Using TracePoint 我可以检测到什么时候attr accessor被调用 但我不知道如何让它告诉我它收到的参数 有任何想法吗 在问题标
  • 使用 python 将字典列表插入 SQL 表中

    我正在使用 python 和 sql 数据库迈出第一步 但仍然不确定要使用哪个包以及如何使用 我有一个包含大约 300k 个字典的列表 每个字典大约有 20 个键 这些字典应插入到 SQL 表中 在我看来 字典方法列表的优点是 我明确命名要
  • JUnit 测试未启动 Android 服务

    我有这个测试类来测试远程服务 public class CoreServiceBasicTest extends ServiceTestCase
  • RIA 服务与 WCF 服务

    我正在重写一个 LOB 应用程序 其架构如下 Silverlight Windows Mobile gt WCF gt 实体框架 gt 数据库 移动应用程序应该能够像 silverlight 应用程序一样执行某些操作 在这里使用 RIA 服
  • C++ 中向量是通过值还是通过引用传递给函数

    我正在用 C 编码 如果我有一些功能void foo vector
  • 如何打印保留命名空间的 groovy 节点?

    当我使用此代码输出一些 XML 时 我解析 并修改 了XmlParser XmlParser parser new XmlParser def root parser parseText feedUrl toURL text def wri
  • 单元测试 Web App 时如何模拟应用程序路径

    我正在 MVC HTML 帮助程序中测试代码 该代码在尝试获取应用程序路径时抛出错误 appropriate code that uses System IO Path to get directory that results in st
  • 如何从 FirebaseRecyclerAdapter 中排除项目

    我的代码中有这个代码populateViewHolder public void populateViewHolder final CampaignHolder viewHolder final Campaign campaign fina
  • 使用 python 创建 jpeg 缩略图

    正如标题所说 我正在寻找一种将大量图像转换为不同大小的缩略图的方法 我该如何在 python 中执行此操作 See http www pythonware com products pil index htm import os sys i
  • GDB单步执行功能(下一个)似乎不起作用

    我正在尝试调试我用 C 编写的程序 这是代码 void a void b a int main b return 0 我使用以下方法编译它 g g3 O0 o cards exe cards cpp 这是我的 GDB 会话的输出 gdb b
  • BroadcastReceiver 生命周期——静态变量

    我有一个 BroadcastReceiver 类 我声明了一些静态变量 其值在 onReceive 方法中更新 据我所知 静态变量将在 onReceive 调用中保持其值 当我丢失这些值时是否有可能 比如我的类将被卸载并重置静态变量 这些基