Andoid 总线设计 (二)
来源:互联网 发布:表单验证 js 编辑:程序博客网 时间:2024/06/06 01:23
EvenBus 用的原理很简单 就是 java 的反射。
1. 扫描注册的类,获取有标记的方法,方法参数(Even),及标记(Annotation)里面的内容等相关 的一些信息,保存在内存变量里面。
2. 在调用Post的时候 ,遍历刚刚 扫描到的方法 根据 Post 的参数(Even) 获取 相应要执行的方法列表。
3. 获取到方法后 调用 Method.invoke();
大致 思路就是这样子。
原理图:
根据这个原来 简单的 实现了 EvenBus,仅通过注解方式。
我们来看看 我的类构成结构:
annotation 是标记的注解
distribute 是事件分发处理 包括同步分发 和 异步分发
reflect 是反射的处理 获取标记的方法,执行反射方法。
EventBus 处理主类
EventBus 是一个单列 ,保证 一个工程里面只有一个实例。
下一章节 说说具体的实现。
0 0
- Andoid 总线设计 (二)
- Andoid 总线设计 (一)
- Andoid 总线设计 (三)
- Andoid 总线设计 (三)
- 基于MCP2515的Linux CAN总线驱动程序设计(二)
- 基于MCP2515的Linux CAN总线驱动程序设计(二)
- 基于MCP2515的Linux CAN总线驱动程序设计(二)
- 基于MCP2515的Linux CAN总线驱动程序设计(二)
- 基于MCP2515的Linux CAN总线驱动程序设计(二)
- 基于MCP2515的Linux CAN总线驱动程序设计(二)
- PCI总线(二)
- PCI总线(二)
- 平台总线(二)
- iic总线(二)
- SPI总线(二)
- CA总线(二)
- 消息总线授权设计
- Linux平台总线设计
- XML
- 不使用构造方法创建Java对象: objenesis的基本使用方法
- WebSocket学习总结
- CSS——语法
- Activity次级页面和主页间来回跳转,防止重复创建Activity实例
- Andoid 总线设计 (二)
- linux shadowsocks客户端配置
- hibernate
- HDU 1711 Number Sequence(kmp模板)
- ubuntu:unrar 的使用
- TimerMask类
- Spring JdbcTemplate问题 ,坑爹
- 【杭电2018】母牛的故事
- jQuery自定义插件