粘性事件应该在应用程序关闭后保留 GreenRobot Eventbus
Sticky events should remain after app close GreenRobot Eventbus
使用 GreenRobot - EventBus 中的 StickyEvents
它们不会在我关闭应用程序后保留在内存中(显示 运行ning 应用程序然后从那里滑动以将其删除)或之后我 运行 来自 Android Studio
的新版本。
我的意思是 onEventMainThread
在 EventBus.getDefault().registerSticky(subscriber);
之后没有被调用
为什么?
EventBus 是一个运行时间结构。因此,粘性事件仅在应用程序的单个 运行 生命周期期间存在于内存中。它们可以承受配置更改,甚至可以将应用程序移至后台并再次返回。但正如您发现的那样,它们无法在应用程序强制退出后继续存在。如果您需要一个事件在应用程序 运行 中存活,理论上您可以扩展 EventBus 的功能以序列化事件并将它们保存到共享首选项或类似的。但是,这将扩展 EventBus 的预期范围。
使用 GreenRobot - EventBus 中的 StickyEvents
它们不会在我关闭应用程序后保留在内存中(显示 运行ning 应用程序然后从那里滑动以将其删除)或之后我 运行 来自 Android Studio
的新版本。
我的意思是 onEventMainThread
在 EventBus.getDefault().registerSticky(subscriber);
为什么?
EventBus 是一个运行时间结构。因此,粘性事件仅在应用程序的单个 运行 生命周期期间存在于内存中。它们可以承受配置更改,甚至可以将应用程序移至后台并再次返回。但正如您发现的那样,它们无法在应用程序强制退出后继续存在。如果您需要一个事件在应用程序 运行 中存活,理论上您可以扩展 EventBus 的功能以序列化事件并将它们保存到共享首选项或类似的。但是,这将扩展 EventBus 的预期范围。