Andoid 总线设计 (二)

24 篇文章 0 订阅

EvenBus 用的原理很简单 就是 java 的反射。
1. 扫描注册的类,获取有标记的方法,方法参数(Even),及标记(Annotation)里面的内容等相关 的一些信息,保存在内存变量里面。
2. 在调用Post的时候 ,遍历刚刚 扫描到的方法 根据 Post 的参数(Even) 获取 相应要执行的方法列表。
3. 获取到方法后 调用 Method.invoke();
大致 思路就是这样子。
原理图:
这里写图片描述

根据这个原来 简单的 实现了 EvenBus,仅通过注解方式。

我们来看看 我的类构成结构:

这里写图片描述
annotation 是标记的注解
distribute 是事件分发处理 包括同步分发 和 异步分发
reflect 是反射的处理 获取标记的方法,执行反射方法。
EventBus 处理主类

EventBus 是一个单列 ,保证 一个工程里面只有一个实例。

下一章节 说说具体的实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值