从应用开发者角度出发 , 保护自己开发的应用不被恶意开发者使用插件化虚拟引擎二次打包 , 并植入恶意代码插件 , 避免自己的应用运行在插件化引擎中 , 是很有必要的 ;...
该消息中心是事件通信框架的核心代码 , 负责订阅方法的注册 , 消息事件转发 , 订阅方法取消注册操作 ;
在转发的过程中 , 需要针对订阅方法的 @Subscribe 注解的不同 threadMode 属性进行不同的线程模式处理 ;
在 Android 中 , 如果要判定当前线程是否是主线程 , 可以使用如下方法进行判定 ;
此处暂时只实现一个单例类 , 后续 注册订阅者 , 处理事件传递 , 取消注册订阅者 , 等功能在该单例类的基础上扩展 ;
从 Subscription subscription 参数中 , 获取订阅方法的线程模式 , 根据 【EventBus】Subscribe 注解分析 ( Subscribe 注解属性 | threadMode 线程模型 | POSTING | MAIN | MAIN_ORDERED | ASYNC) 博客的运行规则 .....
在 EventBus.postToSubscription 方法中 , 如果当前线程是子线程 , 则调用如下方法 , 切换到主线程执行 ;
文章目一、事件发送 postSingleEventForEventType 方法二、事件发送 postToSubscription 方法三、事件发送 invokeSubscriber 方法一、
在客户端的某个线程中 , 调用 EventBus.getDefault().post("Hello EventBus !"); 方法 , 向消息中心发送消息 ;
在 EventBus 中 , 不论是进行注册 , 取消注册 , 还是发送信息 , 都需要调用 EventBus.getDefault() , 获取一个 EventBus 的实例对象 , 这个实例对象是 单例对象 ;