onPause
Otto はアクティビティやフラグメントで使用するとうまく機能しますが、 //メソッドを持たないクラスのイベントをサブスクライブできますonResume
か? onDestroy
もしそうなら、ベストプラクティスはunregister
何ですか?
質問する
659 次
1 に答える
1
Otto には、オブジェクトが登録されているかどうかを確認するメソッドがありません。そのため、ベスト プラクティスでは、あなたが言及したライフサイクル メソッドのいずれかを使用することをお勧めします。
これらのメソッドの外で登録すると、boolean
フィールドを定義しtrue
て、オブジェクトを既に登録している場合に設定できます。このフィールドがあるtrue
場合は、再度登録する必要はありません。このオブジェクトを使い終わったら、忘れずに登録解除してください (たとえば、Activity.onDestroy()
そのようなインスタンスをすべて登録解除するメッセージを投稿できます)。
また、Otto インターフェースを拡張したTinyBusライブラリも確認できます。Bus.hasRegistered(Obejct)
オブジェクトがバスに登録されているかどうかを確認するために使用できるメソッドもあります。また、ライフサイクルをリッスンし、に接続されたバス インスタンスが破棄さActivity
れたときに自分自身を登録または登録解除できる、コンポーネント用の Wireable API も提供します。Activity
于 2015-02-11T20:24:02.010 に答える