6

Dagger でのライフサイクル管理のサポートは見当たりません。DI のみで、@PostConstruct または @PreDestroy には何もありません。

Dagger に Spring と同じ方法でオブジェクトをグラフで開始/停止してもらいたいです。これどうやってするの?

4

2 に答える 2

1

グラフ内のオブジェクトのライフサイクルは、グラフ自体のライフサイクルと同じです。グラフがガベージ コレクションされるとすぐに、グラフ内のすべてのオブジェクトも同様に収集されます。

これを実現するには、Dagger でサブグラフを作成します。サブグラフには、より短いライフサイクルを必要とするすべてのオブジェクト (そのグラフ内のシングルトン) が含まれます。アプリケーション全体のオブジェクトは、サブグラフが依存しているメイン グラフに入ります。

PS。私はSpringに詳しくないので、これがSpringにどのように関係するのか説明できません.

于 2015-10-12T03:34:44.677 に答える
0

https://github.com/google/dagger/issues/455を開いて、これが計画されているか、実装されないかを確認してください。@Alex-Collins ソリューション (回避策?) は、LifeCycleManagerDagger Module Provides の明示的な register()を介したものです。

于 2016-09-02T13:47:59.357 に答える