图片来源网络,入侵必删
在维护一些项目的时候,我们可能会遇到使用
EventBus做Android事件总线优化。这篇博客分享一下EventBus的知识,希望对看文章的小伙伴有所帮助。
EventBus的引入
implementation("org.greenrobot:eventbus:3.3.1")
我发文的时候,最新的版本是3.3.1。如果看文章过来很久了,你可以去EventBus开源库查看最近版本。
使用示例
1、定义一个Event事件:
public static class MessageEvent { /* Additional fields if needed */ }
2、注册和注销EventBus,一定要注销,否则内存泄漏:
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
开源作者推荐写在onStart()、onStop()生命周期里面,维护的时候,可能会在onCreate()、onDestroy()里面。
3、订阅事件的处理:
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent event) {
// Do something
}
4、发送订阅事件:
EventBus.getDefault().post(new MessageEvent());
以上就是对EventBus的简单使用,除了Activity,它还可以在Fragment、Service里面使用。










网友评论