1

onPauseOtto はアクティビティやフラグメントで使用するとうまく機能しますが、 //メソッドを持たないクラスのイベントをサブスクライブできますonResumeか? onDestroyもしそうなら、ベストプラクティスはunregister何ですか?

4

1 に答える 1

1

Otto には、オブジェクトが登録されているかどうかを確認するメソッドがありません。そのため、ベスト プラクティスでは、あなたが言及したライフサイクル メソッドのいずれかを使用することをお勧めします。

これらのメソッドの外で登録すると、booleanフィールドを定義しtrueて、オブジェクトを既に登録している場合に設定できます。このフィールドがあるtrue場合は、再度登録する必要はありません。このオブジェクトを使い終わったら、忘れずに登録解除してください (たとえば、Activity.onDestroy()そのようなインスタンスをすべて登録解除するメッセージを投稿できます)。

また、Otto インターフェースを拡張したTinyBusライブラリも確認できます。Bus.hasRegistered(Obejct)オブジェクトがバスに登録されているかどうかを確認するために使用できるメソッドもあります。また、ライフサイクルをリッスンし、に接続されたバス インスタンスが破棄さActivityれたときに自分自身を登録または登録解除できる、コンポーネント用の Wireable API も提供します。Activity

于 2015-02-11T20:24:02.010 に答える