2016-07-17 14 views
0

ダガー2は、コンポーネントが破壊されたとき(コンポーネントがnullに設定されている)、コンポーネントの依存関係を破壊しますか? AppComponentSingleton範囲を有していれば、アプリが実行されているように住んでいる)、ApiComponent、及びDataComponentダガー2コンポーネントの依存関係のライフサイクル

Iは3つのAndroidアプリにおける成分を有します。 ApiComponentDataComponentはどちらもAppComponent(バスなど)のオブジェクトを使用しているため、AppComponentを他の2つのコンポーネント(dependencies = {AppComponent.class})に追加する必要があると考えていました。私はログアウト時にDataComponentがログイン活動に必要ないので、ログアウト時にそれを捨てたい(nullへの参照を設定する)がありますが、AppComponentも依存関係として定義されているため、

答えて

1

AppComponentのインスタンスを保持してから、ガベージコレクタで収集できません。

2

ほとんどの人は、ApplicationAppComponentのインスタンスを保存しておき、それをoncreate()に初期化しています。このようにして、アプリケーションのライフサイクルとともに生活し、シングルトンに見えます。

この同じコンポーネントを再利用する限り、アプリ全体に同じ依存関係が得られます。

全体的には、オブジェクトの格納場所と格納方法によって異なります。それぞれのライフサイクルに応じて適切に配置してください。何らかの形でActivityを使用するコンポーネントがある場合は、そのアクティビティが存在するよりも長くしないでください。

関連する問題