粘性事件应该在应用程序关闭后保留 GreenRobot Eventbus

Sticky events should remain after app close GreenRobot Eventbus

使用 GreenRobot - EventBus 中的 StickyEvents 它们不会在我关闭应用程序后保留在内存中(显示 运行ning 应用程序然后从那里滑动以将其删除)或之后我 运行 来自 Android Studio 的新版本。

我的意思是 onEventMainThreadEventBus.getDefault().registerSticky(subscriber);

之后没有被调用

为什么?

EventBus 是一个运行时间结构。因此,粘性事件仅在应用程序的单个 运行 生命周期期间存在于内存中。它们可以承受配置更改,甚至可以将应用程序移至后台并再次返回。但正如您发现的那样,它们无法在应用程序强制退出后继续存在。如果您需要一个事件在应用程序 运行 中存活,理论上您可以扩展 EventBus 的功能以序列化事件并将它们保存到共享首选项或类似的。但是,这将扩展 EventBus 的预期范围。