EventBus
Luckie stone
Android应用开发。
展开
-
EventBus3.0注意事项
1、父类中定义的订阅方法不能被重写比如你在父类中定义了一个订阅方法@Subscribe(threadMode = ThreadMode.MAIN)public void onEvent(Item item) {}那么不能在子类中重写该方法,否则一旦我们调用EventBus.getDefault().regist(this)后,EventBus就会查询当前类及其父类中的订阅方法,...原创 2018-06-30 06:28:07 · 381 阅读 · 0 评论 -
EventBus2.0使用进阶
一、概述前一篇给大家装简单演示了EventBus的onEventMainThread()函数的接收,其实EventBus还有另外有个不同的函数,他们分别是:1、onEvent2、onEventMainThread3、onEventBackgroundThread4、onEventAsync这四种订阅函数都是使用onEvent开头的,它们的功能稍有不同,在介绍不同之前先介绍两个概念:告知观察者事件发...转载 2018-06-19 05:54:42 · 578 阅读 · 0 评论 -
初步使用EventBus2.0
一、概述EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。1、下载EventBus的类库源码:https://github.com/greenrobot/EventBus2、基本使用(1)自定义一个...转载 2018-06-19 05:54:33 · 541 阅读 · 0 评论 -
EventBus3.0源码分析
订阅者索引默认情况下,EventBus使用Java反射来查找订阅者信息。订阅者索引是EventBus 3的一个新特性。它可以加速查找订阅者信息的过程,是一个可选的优化。订阅者索引的原理是:使用EventBus的注解处理器在应用构建期间创建订阅者索引类,该类已经包含了所有的订阅者信息。EventBus官方推荐在Android中使用订阅者索引以获得最佳的性能。要开启订阅者索引的生成,你需要在构...转载 2018-06-18 06:20:59 · 250 阅读 · 0 评论 -
EventBus3.0使用详解
基础知识EventBus使用了发布者/订阅者模式。发布者通过EventBus发布事件,订阅者通过EventBus订阅事件。当发布者发布事件时,订阅该事件的订阅者的事件处理方法将被调用。使用详解本文将按照如下顺序来介绍EventBus的使用:准备工作 基本使用 线程模式 粘性事件 事件优先级 订阅者索引准备工作首先,在模块的 build.gradle 构建脚本...转载 2018-06-18 06:20:20 · 583 阅读 · 0 评论 -
浅析EventBus 3.0实现思想
最近接触了EventBus,也看了一些源码分析的文章。在此就不再细述其代码的实现细节,主要针对其的设计思想做一些记录,也是自己思考的过程。同时本文尽量以较少的代码来将其主要设计思想说的透彻明白,不会针对细节做过多深入。基本的事件发布订阅的实现一般情况下,事件发布订阅机制都是跟观察者模式紧密相连。事件的发布中心都会维持着一组当前的观察者(也可叫做订阅者),这里称之为事件总线,(观察者的注册/...转载 2019-06-22 06:47:29 · 283 阅读 · 0 评论 -
EventBus知识点整理
FindState的妙用在EventBus中,会根据class信息,来获取SubscriberMethod,这里会在SubscriberMethodFinder中进行处理,提供了两种方式来进行获取:通过findUsingInfo(Class<?> subscriberClass)在apt中进行查找获取 使用'findUsingReflection(Class<?>...转载 2019-06-22 06:47:35 · 360 阅读 · 0 评论