Patrick Patrick - 1 year ago 89
Android Question

When should removeStickyEvent(...) be called?

I'm using the GreenRobot EventBus lib on Android.

Could someone tell me, what's best practice for calling the removeStickyEvent(...)? Up-Action, back button pressed, ...?

Thank you guys.

Answer Source

To answer your question about the Event object staying in memory: only the last sticky event posted stays in memory for each given type.

Take a look at the source here.

Basically to summarize: Eventbus keeps a map of stickyEvents with the key being class type and the value being the field. So when a new sticky event is posted with EventBus.postSticky(event) the event posted overwrites the old event. So I think you are safe from building up many sticky events.

I was worried about that also. I wish it was explained better in the docs but at least its open source so we can look inside and see whats happening.

I guess to answer your question more completely. When should you remove a sticky event? When you don't want calls to get the sticky event to not return anything. When exactly that is is an application specific requirement. Good luck.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download