EventBus源码解析(四):优化-EventBusIndex

EventBus源码解析(一):概述
EventBus源码解析(二):Register
EventBus源码解析(三):Post/PostSticky
EventBus源码解析(四):优化-EventBusIndex

如果使用EventBusIndex就不用通过反射来查找订阅者的回调方法了,可以很大地优化性能。

        SUBSCRIBER_INDEX = new HashMap<Class<?>, SubscriberInfo>();

        putIndex(new SimpleSubscriberInfo(SecondActivity.class, true, new SubscriberMethodInfo[] {
            new SubscriberMethodInfo("onMessageEvent", Object.class, ThreadMode.MAIN, 0, true),
        }));

        putIndex(new SimpleSubscriberInfo(MainActivity.class, true, new SubscriberMethodInfo[] {
            new SubscriberMethodInfo("onMessageEvent", Object.class, ThreadMode.MAIN),
        }));

APT主要生成上面的代码,可见是把每一个订阅者的方法进行了拆解,在应用初始化的时候调用

EventBus.builder().addIndex(MyEventBusIndex()).installDefaultEventBus()

就可以把所有的监听者分解到前面说的容器里面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容