EventBus是一种用于Android的发布/订阅事件总线。
优点:简化应用组件间的通讯;解耦事件的发送者和接收者;避免复杂和容易出错的依赖和生命周期的问题;很快,专门为高性能优化过等。
一、普通方法
1.在OnCreate()方法中注册EvenBus:
EventBus.getDefault().register(this);
2.在onEvenMainThread()方法中添加要做的事情:
---接收数据
3.在onDestroy()方法中反注册EvenBus:
EvenBus.getDefault.unregister(this);
4.发布事件:
EventBus.getDefault().post(new EventBusMessage(“数据”));
二、粘性事件:
1.发布事件:
EventBus.getDefault().postSticky(new EventBusMessage(“数据”));
2.在onEvenMainThread()方法中添加要做的事情:
sticky=true;---接收数据
3.在onClick()方法中注册EvenBus:
EventBus.getDefault().register(this);
4.在onDestroy()方法中移除所有粘性事件、反注册EvenBus:
EvenBus.getDefault.removeAllStickyEvent(this);
EvenBus.getDefault.unregister(this);
ThreadMode:
1.MAIN UI 主线程
2.BACKGUROUND 后台线程
3.POSTING 和发布者处在同一个线程
4.ASYNC 异步线程
注意:当接收到同一个类的实例参数有两个函数来接收时,两个函数都会执行。
--------本人小白,只做笔记,文章均来自网络,不喜勿喷,侵权删