Android アプリケーションのさまざまなコンポーネントからインターフェイス (アクティビティ) を更新するために、イベント バス ライブラリOttoの使用を開始しました。たとえば、モデル クラスに変更が加えられた場合は、イベント バスにポストします。変更が終了した場合は、メソッドAsyncTask
内のイベント バスにイベントをポストします。onPostExecute
これまでのところ、ユーザー インターフェイスの更新には 1 つのイベント バスを使用しています。一時停止したアクティビティでさえ、これらのイベントをまだ受け取っていることに気付きました。ドキュメントには、次のように記載されています
一時停止されたアクティビティはユーザー入力を受信せず、コードを実行できません。
私が物議を醸すと思うのは、このコードはもちろん別のスレッドで実行されますが、まだアクティビティにあるということだけです。
私の質問は、この使用法は何か不利益をもたらすのでしょうか? 複数のアクティビティを一時停止する、イベントを実行する、(一時停止した) アクティビティの要素を更新する、またはそれらを無視する。これにより、顕著なオーバーヘッドが発生しますか、それとも無視できますか?
インターフェイスを更新するためにイベントバスを使用したい場合、別のアプローチはありますか?