EventBus初解

感觉网上的大神很多都已经写的很详细了,所以这里我只打算大体地记一下笔记,不想记录那些很复杂的代码,只想记一下基本的用法.

EventBus的初步用法感觉并不是很复杂,至少在这里我感觉貌似常见的使用就是在activtiy以及fragment这两个有着固定创建和销毁的流程式view中.一般是在oncreate方法中进行绑定,在ondestroy中进行解绑,绑定和解绑的方法也很固定
EventBus.getDefault().register(this);
EventBus.getDefault().unregister(this);

在注册的时候会扫描this中的所有带有onEvent+*Thread形式的方法,通过反射的方式将其关联起来.

其中post方法是用于发送事件的,发送的事件会被相同类型参数的onEvent*Thread方法接收并且处理,所以需要有一定的甄别机制,不然可能会出问题= =

最后是EventBus的threadMode的种类
onEventMainThread代表这个方法会在UI线程执行
onEventPostThread代表这个方法会在当前发布事件的线程执行
BackgroundThread这个方法,如果在非UI线程发布的事件,则直接执行,和发布在同一个线程中。如果在UI线程发布的事件,则加入后台任务队列,使用线程池一个接一个调用。
Async 加入后台任务队列,使用线程池调用,注意没有BackgroundThread中的一个接一个。也就是同时,同步

你可能感兴趣的:(EventBus初解)