robospice 如何管理活动生命周期?

2024-01-03

我正在寻找有关 android robospice 库如何管理活动生命周期的技术答案。从入门页面:

https://github.com/octo-online/robospice/wiki/Starter-Guide https://github.com/octo-online/robospice/wiki/Starter-Guide

“作为您的 Activity(或其他上下文)的内部类,添加一个将更新您的 UI 的 RequestlListener。不用担心内存泄漏,RoboSpice 会管理您的 Activity 的生命周期。”

我的问题是 robospice 如何自动更新请求侦听器,以便在轮换后以及活动被销毁并重新创建为新实例后仍然能够使用正确的上下文调用正确的侦听器?

我一直在尝试对源代码进行逆向工程,但尚未找到答案:

https://github.com/octo-online/robospice https://github.com/octo-online/robospice


@抓住机会创造Cha。你说的完全正确。 RS 的设计考虑到了这种明确的需求:管理网络请求和活动的生命周期。

@craigrs84。基本上,RS 发生的情况是,当处理请求时,将调用其侦听器只要关联的活动还存在。如果该 Activity 不再存在,则其所有侦听器都会从 RS 上拔下,并且不会收到通知。

RS 的主要目的是确保不存在内存泄漏:您的 Activity 如果必须终止,将会终止并被垃圾回收,RS 不会持有任何会阻止垃圾回收的硬引用。这确实是 RoboSpice 背后的核心理念。

如果您希望将 Activity 的新实例重新插入待处理的请求(例如,您执行请求,然后旋转设备,然后获取 Activity 的新实例,并希望该新实例接收请求的结果由前一个实例执行),这可以通过 RS 实现。

在这种情况下,请使用该方法spiceManager.addListenerIfPending在启动时,在调用 SpiceManager.start(..) 之后。这不会执行新的请求,而是将新的侦听器重新插入待处理的请求。如果没有待处理的请求,那么它将不执行任何操作。

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

robospice 如何管理活动生命周期? 的相关文章

  • Xamarin 分步向导 Android 视图

    我想在 Xamarin c 中构建一个 android 活动 用于逐步注册和 或信息 我怎样才能做这样的事情 谁能给我一个代码示例或其他东西 谢谢 基本上你需要使用一个名为 a 的元素ViewPager 并且每个页面都会不同Fragment
  • Android:如何暂停和恢复可运行线程?

    我正在使用 postDelayed 可运行线程 当我按下按钮时 我需要暂停并恢复该线程 请任何人帮助我 这是我的主题 protected void animation music6 music4 postDelayed new Runnab
  • 如何延迟 AngularJS 应用程序初始化?

    我有一些数据正在后台异步处理 并且希望延迟整个 AngularJS 应用程序的初始化 直到完成 BackgroundData initialized 是一个 Q 承诺 所以像这样 BackgroundData initialized the
  • 嵌套 XML 布局文件

    android 有没有办法从另一个布局文件引用 xml 布局文件 为了更好地解释 我有一个名为layout1 xml 和layout2 xml 的布局文件 我可以从layout1 xml引用layout2 xml吗 用这个
  • 4 天后,应用仍未在 Google Play 搜索中编入索引

    我已经在 4 天前在 google play 上发布了我的第一个应用程序 语音到短信 但我仍然无法通过其名称或开发人员名称在搜索中找到我的应用程序 我只能通过包名称或真实应用程序名称 但不带空格 找到我的应用程序 VoiceToSMS 链接
  • CoordinatorLayout 和 ImageView 在滚动时调整宽度的问题

    我正在尝试放置一个ImageView in a CollapsingToolbarLayout它在加载时占据整个屏幕 并且当您滚动内容时 16x9 分辨率图像宽度会调整大小 直到图像占据屏幕的整个宽度 那时 我希望图像具有视差app lay
  • 如何在Android中的DataBinding的ViewModel类中获取R.string

    我目前正在使用databinding对于我的 Android 应用程序项目 我想设置error留言在我的CustomTextView from R string txtOldPassWordError并从另一个名为的类中进行设置ViewMo
  • 如何使用 Google 的 GithubBrowserSample 方法在片段之间共享视图模型?

    我对 Android 架构组件的使用非常陌生 因此我决定使用 GithubBrowserSample 来构建我的应用程序来实现我的许多用例 但我有一个问题 我不知道使用这种方法在片段之间共享视图模型的正确方法是什么 我想共享视图模型 因为我
  • Android L,使用 joda.time 库的异常

    该应用程序适用于所有设备 包括 nexus 5 和 nexus 7 在 Android L 预览版上运行相同的应用程序时 应用程序崩溃了 我一直在调试 并且调用 DateTime 构造函数发现了异常 public static String
  • 如何绘制部分位图圆弧?类似于圆形进度轮,但具有显示得越来越多的位图。

    我正在寻找的是一种以顺时针圆形方式显示图像的视图 当进度为 25 时 应显示前 90 度 当进度为 100 时 应绘制完整的 360 度 它与使用 canvas drawArc 非常接近 但此方法仅适用于 Paint 对象 不适用于位图 其
  • Toast 消息消失后​​完成活动吗?

    有谁知道 是否有可能对 Toast 消息执行某些操作 在我的情况下完成活动 将被关闭 您只需创建一个Thread持续时间只要Toast显示 然后您就可以完成您的Activity public void onCreate Bundle sav
  • 模拟器无法加载

    我正在使用 hello android 教程并通过 eclipse 创建 avd 启动模拟器时不使用图像 它只是显示一个黑色的后屏 中间有 ANDROID 字样 并且在 ANDROID 字样的末尾有一个闪烁的光标 我已按照 T 的步骤安装
  • 为什么存在 async 关键字

    浏览 msdn 9 频道视频时 我发现以下未答复的评论 希望有人能解释一下 我不明白 async 关键字的意义 为什么不直接允许 任何时候方法返回任务时都会使用await关键字 就像迭代器一样 可以在任何返回 IEnumerable 的方法
  • Android 操作项上的通知徽章

    我想在操作栏中放置的购物车图像上添加一个通知徽章 并以编程方式操作它 有帮助吗 您可以显示自定义MenuItem on ActionBar通过创建一个custom layout for MenuItem 要设置自定义布局 您必须使用菜单项属
  • TabLayout 的不同 tabMode

    我正在使用 ViewPager 和 TabLayout 如果选项卡可以放置在显示 tabMode 上 则它们必须是 app tabMode fixed else app tabMode scrollable 我怎样才能做到这一点 我不明白你
  • Android AppWidgetManager 方法 updateAppWidget 无法设置意图、加载数据。而且它是随机发生的

    我的小部件由 2 个按钮和一个显示数据的列表视图组成 大多数时候 当调用小部件提供程序的 onUpdate 方法时 一切都会正常加载 每个人都很高兴 但是我注意到有时在调用更新方法后 小部件完全无法加载其数据 列表视图为空 所有按钮均无响应
  • 在数组列表中过滤 Filterable 不取消之前的过滤

    我看过过滤器方法文档 其中显示调用过滤器会取消所有先前未执行的过滤请求 并发布一个稍后将执行的新过滤请求 但我收到的实际回调有些不同 在我的实现中 它不会取消先前的过滤器请求并调用publishResults 最近一次搜索条件后的上一次搜索
  • 如何从DataSource.Factory获取数据

    我必须调用此方法才能获取所有人员 我根本无法修改这个方法 Query SELECT FROM PERSON TABLE ORDER BY NAME DESC abstract fun getElements DataSource Facto
  • 我想测量 ListView 的高度 (getHight() = 0)

    我无法自己决定任务将是问 我想测量 ListView 的高度 无法捕捉渲染 ListView 的时刻 rssListView getHight 0 public class RSSactivity extends Activity publ
  • Android 的代码覆盖率[重复]

    这个问题在这里已经有答案了 可能的重复 Android测试代码覆盖率 Eclipse https stackoverflow com questions 3282702 android test code coverage eclipse

随机推荐

  • 如何在 jhipster 中通过 OAuth2 成功登录后执行操作

    我想问一下通过 OAuth2 成功登录后如何执行操作以及如何根据某些先决条件否决登录 我尝试在 Google 上搜索并找到了一些链接 但我不确定如何在这个框架上执行此操作 我可能可以添加一些过滤器等 但想知道执行此操作的正确位置 注意 Au
  • 使用单线程执行器时,为什么“header.get() + footer.get()”会导致死锁? [复制]

    这个问题在这里已经有答案了 这是清单 8 1Java 并发实践 https rads stackoverflow com amzn click com 0321349601 public class ThreadDeadlock Execu
  • XSLT 合并 2 个 XML 文件

    我知道这里很少有 xml xslt 合并相关的问题 但似乎没有一个能解决我遇到的问题 我正在寻找的是一个 XSLT 尽可能通用 与输入 XML 文件的结构不紧密 它可以 将 a xml 与 b xml 合并并生成 c xml 如下所示 c
  • 在一个 LESS 文件中定义变量

    我刚刚开始使用 LESS 来简化我的 CSS 内容 我希望能够在一个文件中定义颜色 这样我就可以拥有多种配色方案 只需更改引用的文件即可在这些配色方案之间进行切换 我尝试过这样的事情 但我收到 变量未定义 错误styles less fil
  • 如何存储 CBPeripheral 以便在其他视图中使用

    我在视图控制器 SViewController 中设置了一些 BLE 连接 并且需要存储外围设备以供其他视图控制器使用 我尝试创建 NSUserDefault 对象并将外围设备存储在其中 但出现错误 Attempt to insert no
  • 如何使用生成器中的值填充 2D Python numpy 数组?

    根据答案here https stackoverflow com questions 367565 how do i build a numpy array from a generator似乎没有一种简单的方法可以用生成器中的数据填充 2
  • 来自回调的 feed 助手

    我正在尝试在 Meteor 中实现一个文件浏览器 用户可以浏览一些网络文件夹并将它们添加到集合中以进行进一步处理 这是我的简单模板 显示 和给定目录中的文件夹
  • ruby on Rails 和 bootstrap ,使 field_with_errors 显示水平

    in custom css scss file field with errors extend control group extend error 和 html erb
  • 未设置 TransferEncodingChunked 时 HttpClient 抛出 OutOfMemory 异常

    为了支持带有进度报告的大型 实际上非 常大 高达几 GB 文件的上传 我们开始将 HttpClient 与 PushStreamContent 结合使用 如下所述here https www thomaslevesque com tag p
  • 使用解构元组赋值扩展方法进行类型推断

    给出一些扩展方法 public static TO ConvertValue
  • 如何在 Swing 应用程序中捕获并处理 JavaFX TouchEvent?

    我开发了一个 Swing 应用程序 现在需要在其中实现自定义的多点触摸手势 经过一番研究 最简单的方法似乎是使用 JavaFX 因为它可以嵌入到 Swing 中 并为触摸屏上的每个手指单独提供事件 然后我尝试根据以下示例实现触摸处理 htt
  • 使用 svc 调用实现 fork()

    我实现了系统调用宏来调用软件中断调用 对于许多系统调用来说它运行良好 然而 这并不是为了fork 父进程和子进程的返回 pid 相同 片段如下 define SYSCALL0 N register int ip asm ip N regis
  • 如何获取 PSCustomobject 的长度?

    以下内容存储在powershell中 Maintainer Note The leftmost parameter must match the registry key name exactly e g DES 56 For more i
  • 从部分字符串中查找全局原子

    我可以使用创建一个全局原子GlobalAddAtom我可以使用再次找到该原子GlobalFindAtom如果我已经知道与原子相关的字符串 但是有没有办法找到关联字符串与给定部分字符串匹配的所有原子呢 例如 假设我有一个原子 其字符串是 He
  • 使用模板时的类型推断

    所以这就是我想做的 我使用std pair 但我肯定想使用元组或几乎任何类型的模板来做同样的事情 分配对变量时 我需要输入如下内容 T1 t1 T2 t2 std pair
  • python 中的字数统计

    我想计算从网站上获取的文本的字数 我正在尝试下面的代码 import requests from bs4 import BeautifulSoup from urllib request import urlopen def get tex
  • TensorFlow DataSet API 导致图形大小爆炸

    我有一个非常大的训练数据集 我正在使用数据集 API 如下所示 self dataset tf contrib data Dataset from tensor slices self images list self labels lis
  • 存储经度和纬度值

    所以我有 5000 多个船舶坐标 它们是经度和纬度坐标 我想知道为每艘船存储这些的最佳方式是什么 每艘船都有未知数量的坐标 最初我想到的是一个类似于以下的双二维数组 double array new double 但我不知道我需要的尺寸 我
  • 延迟加载和 Load() 有什么区别

    在实体框架 4 中 延迟加载和使用 Load 方法有什么区别 编辑 我添加了两个 if 语句 延迟加载 var query from c in context Contacts select c foreach var contact in
  • robospice 如何管理活动生命周期?

    我正在寻找有关 android robospice 库如何管理活动生命周期的技术答案 从入门页面 https github com octo online robospice wiki Starter Guide https github