文章目录
一、取消订阅
- 一、取消订阅
- 二、取消订阅 unsubscribeByEventType 方法
【EventBus】EventBus 使用示例 ( 最简单的 EventBus 示例 ) 示例中 , 在 MainActivity
中调用
// 取消注册
EventBus.getDefault().unregister(this);
方法 , 取消订阅 ;
取消订阅是以对象为单位的 , 一旦调用了 EventBus
的 unregister
方法 , 并传入 订阅者对象 , 则该订阅者对象中的所有 订阅方法 , 都会被 取消订阅 ;
在 【EventBus】EventBus 源码解析 ( 注册订阅者总结 | 从封装的数据结构角度分析 EventBus ) 博客中 , 介绍到注册订阅者 , 是将 事件参数类型 和 订阅者信息 添加到 Map, CopyOnWriteArrayList> subscriptionsByEventType
集合中移除相应的数据 ;
如何根据 订阅者对象 找到对应的数据 , 就需要依靠 Map>> typesBySubscriber
集合 , 查找订阅者对象对应的 参数类型对象 ;
然后根据 参数类型对象 到 Map eventType
从 Map
关注
打赏
热门博文
- 【Android Gradle 插件】Gradle 自定义 Plugin 插件 ③ ( 自定义插件作用 | Android Gradle 插件的扩展 | 自定义 Extension 扩展 )
- 【Android Gradle 插件】Gradle 构建生命周期 ③ ( BuildListener 构建监听器 | TaskExecutionGraphListener 任务执行图监听器 )
- 【Android Gradle 插件】Gradle 构建生命周期 ② ( Gradle 类的添加构建生命周期监听器函数 | Gradle#addListener 函数 )
- 【Android Gradle 插件】Gradle 构建生命周期 ① ( 分析构建脚本 | 执行初始化配置 | 执行 Gradle 任务 | Project#beforeEvaluate 函数 )
- 【Android Gradle 插件】自定义 Gradle 任务 ⑨ ( 控制 Gradle 执行任务顺序 | Task#finalizedBy 函数 | 控制 Gradle 执行任务顺序示例分析 )
- 【Android Gradle 插件】自定义 Gradle 任务 ⑧ ( 控制 Gradle 执行任务顺序 | Task#shouldRunAfter 函数 | 三个函数使用场景对比 )
- 【Android Gradle 插件】自定义 Gradle 任务 ⑦ ( 控制 Gradle 执行任务顺序 | Task#dependsOn 函数 | Task#mustRunAfter 函数 )
- 【数学分析】集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )
- 【数学分析】学科简介 ( 初等数学缺陷 | 微分与积分 | 学习数学分析的目的 | 数学分析与高等数学对比 )
- 【Android Gradle 插件】自定义 Gradle 任务 ③ ( Gradle 自定义任务创建方法 Project#task 函数 | Task#doFirst 函数用法 )