3

GreenRobot - EventBusStickyEventsから使用すると、アプリを閉じた後 (実行中のアプリを表示し、スライドしてそこから削除する)、または から新しいビルドを実行した後、それらはメモリに残りません。Android Studio

つまりonEventMainThread、後に呼び出されませんEventBus.getDefault().registerSticky(subscriber);

なんで?

4

1 に答える 1

6

EventBus はランタイム コンストラクトです。したがって、スティッキー イベントは、アプリケーションの 1 回の実行のライフサイクル中にのみメモリに存在します。構成の変更や、アプリをバックグラウンドに移動したり元に戻したりしても存続できます。しかし、あなたが知っているように、それらはアプリの強制終了には耐えられません. アプリケーションの実行後も存続するイベントが必要な場合は、理論的には EventBus の機能を拡張してイベントをシリアル化し、それらを Shared Preferences などに永続化することができます。ただし、これは EventBus の目的の範囲を広げることになります。

于 2015-05-11T20:52:12.623 に答える