fnhp.net
当前位置:首页 >> EvEntBus用太多 >>

EvEntBus用太多

EventBus和Otto在之前作为Android组件间通信工具,简单方便十分受欢迎,但是也非常容易Abuse.大概有如下几个缺点:由于是Event,在发布Event的时候就要做好准备可能并没有人接受这个Event, Subscribe的时候也要做好准备可能永远不

这个应该是React里面最大的一个坑.目前我们的解决方案就是一个event bus.具体的实现,你可以用node自己的EventEmitter,或者上面提到的EventEmitter2或者Backbone的Events.一定要谨慎.尽量不要在一个bus上有太多的event,一旦超过几十个就基本不可控制了.

前面说了,Subscriber函数的名字只能是那4个,因为每个事件订阅函数都是和一个`ThreadMode`相关联的,ThreadMode指定了会调用的函数.有以下四个ThreadMode:PostThread:事件的处理在和事件的发送在相同的进程,所以事件处理时间

在混淆文件中 加上dontwarn eventbus包名 , 让eventbus不被混淆

首先说起EventBus,有过框架使用经验的朋友应该不会陌生.EventBus提供了一种有效的事件托管机制,以解决我们在项目开发中遇到的事件触发与捕获方面的困扰: 基于Flash Player的事件冒泡机制严重依赖显示列表,在MVC架构中,很多类并非显示类

由于是Event,在发布Event的时候就要做好准备可能并没有人接受这个Event, Subscribe的时候也要做好准备可能永远不会收到Event.Event无论顺序还是时间上都某种程度上不太可控.如果你将数据寄托在Event上然后就直接在Android其他生命周期方法中直接使用这个数据或成员变量.那么很有可能你会得到NPE.

EventBus源类库android发使用EventBus需要添加eventBusjar包才能使用

你看EventBus注册的时候是不是在主进程里面,EventBus底层是handler,只能在主进程工作,否则就会报错,注意是进程,不是线程,线程可以正常工作,看看有没有用到aidl之类的..

EventBug是可以接受Object类型的,也就是说,你可以自定义一个JavaBean,比如说你要传一个id和一个name,那么你就可以声明一个类,然后把值传给他的实例,然后用EventBus给post出去,就行了.public class MyBean{//类代码 public int

onEvent:如果使用onEvent作为订阅函数,那么该事件在哪个线程发布出来的,onEvent就会在这个线程中运行,也就是说发布事件和接收事件线程在同一个线程.使用这个方法时,在onEvent方法中不能执行耗时操作,如果执行耗时操作容易

网站首页 | 网站地图
All rights reserved Powered by www.fnhp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com