EventBus 源码解析系列(如何使用)
2021/12/15 11:46:37
本文主要是介绍EventBus 源码解析系列(如何使用),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 EventBus.getDefault().register(this);//在需要接收事件类 注册eventbus
2 在需要接收事件类 来写接受事件的方法,用@Subscribe 注解
@Subscribe(threadMode = ThreadMode.MAIN) public void onMessageEvent(Object event) { }
注:ThreadMode.POSTING 默认,表示事件处理函数的线程跟发布事件的线程在同一个线程。
ThreadMode.MAIN 表示事件处理函数的线程在主线程(UI)线程,因此在这里不能进行耗时操作。
ThreadMode.MAIN_ORDERED在 Android 上,订阅者将在 Android 的主线程(UI 线程)中被调用。 与 MAIN 不同的是,事件将始终排队等待传递。 这确保了 post 调用是非阻塞的。
ThreadMode.BACKGROUND:表示事件处理函数的线程在后台线程,因此不能进行UI操作。如果发布事件的线程是主线程(UI线程),那么事件处理函数将会开启一个后台线程,如果果发布事件的线程是在后台线程,那么事件处理函数就使用该线程。
ThreadMode.ASYNC 表示无论事件发布的线程是哪一个,事件处理函数始终会新建一个子线程运行,同样不能进行UI操作。
3 发送事件
EventBus.getDefault().post(new ConstantEvent(13));
注:本文章的 ConstantEvent 指的是 事件通信的一个消息体,由开发者自己定义
这篇关于EventBus 源码解析系列(如何使用)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南