当前位置: 首页 > 工具软件 > EventBus > 使用案例 >

EventBus系列:为什么使用EventBus?

祝宏放
2023-12-01

EventBus传值注意:

1、两个Activity之间传值,传统方法使用intent调整,在onActivityResult中接受返回数据。这种方法有两个弊端:
一是,从另外一activity返回时,onActivityResult()没有执行。这个bug并不是必现的,我当时是在一个Android 4.2的平板上遇到的这个bug。
不止我一个人遇到这样的bug,下面这些文章都指出了onActivityResult()不执行的问题:
解决onActivityResult方法不执行的办法
onActivityResult执行时机

二是,startActivityForResult + onActivityResult()方式,假设A跳到B,必须要结束B后,A才能收到数据,也就是说B必须调用finish()。如果B不调用finish,
A的onActivityResult就不会执行。如果我们想在B未结束时,提前告诉A结果,没法实现。

而EventBus就没有上面的限制。

2. greenrobot公司推出了两大android开源框架:GreenDao和EventBus,EventBus源码分析,见下面网址。

https://segmentfault.com/a/1190000004279679

 类似资料: