finds.dev

greenrobot/EventBus

Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.

View on GitHubHomepage ↗

★ 24,684JavaApache-2.0updated Feb 2024

// the take

EventBus is a lightweight publish/subscribe library for Android and Java that lets Activities, Fragments, Services, and background threads talk to each other without implementing listener interfaces by hand. It's aimed at Android developers maintaining established apps that already use this pattern, not new projects starting from scratch.

Thread-mode annotations (POSTING, MAIN, BACKGROUND, ASYNC) let a subscriber declare which thread it wants to run on, replacing manual Handler/AsyncTask juggling. The annotation processor generates a subscriber index at compile time, which kills the runtime reflection lookup that caused real R8/ProGuard stripping bugs in earlier versions. The jar is tiny (~60k) and the core API surface (register/unregister/post) is small enough to read in one sitting.

Last push was February 2024 and the version is still 3.3.1 - this is a finished, maintenance-mode library with no movement toward coroutines or Flow, which is where Android communication patterns have gone. EventBus.getDefault() is a static global, so overuse hides who's actually producing and consuming an event, making call graphs and unit tests harder to reason about than an explicit LiveData/Flow/DI approach. There's no backpressure on ASYNC or BACKGROUND delivery, so a producer that posts faster than subscribers can drain will quietly pile up work on the executor. Forgetting to unregister in onStop/onDestroy is a classic leak source and the library can't protect you from it.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
24,684
Forks
4,633
Language
Java
License
Apache-2.0
Last commit
21 Feb 2024

// nearby

If EventBus isn't quite it.

All repos →