EventBusDemo组件通信示例
Android 开发里的组件通信,EventBus算是个老朋友了。相比手动传数据、写接口、满屏回调,它用发布/订阅模式让你解耦得干净。你发个事件出去,谁感兴趣就订阅,根本不认识也能收到消息,像极了广场上喊话的感觉。
EventBusDemo这个资源挺贴心的,带了个叫threadmodedemo
的子目录,演示了各种线程模式。主线程用来更新 UI,后台线程和异步线程则适合做点重活,比如拉数据、读文件啥的。线程分得明白,性能也稳得住。
想接收事件,注册就完事了,EventBus.getDefault().register(this)
写上,记得在生命周期结束前unregister()
一下,防止内存泄露。常见套路就是在onCreate()
注册,在onDestroy()
注销,熟得不能再熟。
事件的定义也简单,一个普通的 POJO,加上@Subscribe
注解就能收消息。不想错过之前发的消息?用粘性事件。消息重要?可以设个优先级抢先。甚至还能用事件过滤来挑着接,场景适配得挺灵活。
如果你做 Android 开发,尤其是组件多、页面跳转频繁的项目,用用 EventBus 会省不少事。不用费劲找接口传参,也不用写一堆 listener,干净清爽。
有兴趣的话可以看看这些相关内容:
- JAVA Guava EventBus 使用发布订阅模式的步骤
- Android 进阶效率开发 eventbus 总线事件
- JavaScript 事件发布订阅模式原理与用法
- MBassador 是基于订阅发布模式的易用高性能的事件总线
如果你平时对组件解耦头疼,可以花几分钟撸一遍 EventBusDemo,理解了线程模式那块,用起来会更顺手。
下载地址
用户评论