在 Android 开发中,组件间通信是核心需求之一。以下是 EventBus、LiveData、Kotlin Flow 和 RxJava 的对比总结,帮助你根据场景选择最合适的工具。
1. EventBus
特点:
-
发布-订阅模式:通过全局事件总线传递消息,完全解耦发送方和接收方。
-
简单易用:通过
@Subscribe
注解快速实现订阅。 -
线程切换:支持指定事件处理线程(如主线程、后台线程)。
适用场景:
-
全局事件(如用户登录状态变更、跨模块通知)。
-
简单的小型项目或原型开发。
-
非标准架构下的临时通信需求。
优缺点:
-
✅ 优点:解耦彻底、集成简单、支持跨组件通信。
-
❌ 缺点:类型不安全、需手动管理生命周期(易内存泄漏)、代码可读性差。