EventBus的优化——KeventBus

一、前言

eventbus3.0的优缺点分析:

eventbus基于观察者模式,用很少的代码,帮我们实现很多功能,使我们的代码变得很优雅。但是大面积的使用eventbus之后,会发现一些很严重的问题

  • 需要创建很多的类来区分订阅方法,订阅的方法越多,类越多,代码越多,apk的体积越大
  • 以类来贯穿这个事件传递的方式,广播方式发送问题后,排查事件源或订阅方法的难度比较大
  • 需要写很多的订阅方法,订阅方法满天飞,很容易发生dex方法数超出
  • 发送的广播无法收到返回值
  • 不知道private的订阅方法,不知道eventbus为什么要这么设计
  • 明明不用发送数据,只是通知,也需要传递一个类
  • 无法取消单独的某一个订阅的方法

围绕这个上面几个问题,我在eventbus的基础上进行了改善。


二、改善说明: 基于android eventbus 3.0 版本优化:

  • 优化前期以类为区分监听接收对象,需要创建很多类,优化后采用字符串方式作为事件event-key区分代替以类的方式,避免创建太多类,减少代码量,比较优雅,本思想也参考ios通知的实现。

  • 支持返回值,支持private和static的方法

  • 优化前,订阅者需要订阅很多监听方法来区分分类&#x

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值