我怎样才能在Dagger图中生命周期管理对象

时间:2013-08-17 16:52:49

标签: java dependency-injection dagger

我看不到任何对Dagger生命周期管理的支持。只有DI,没有@PostConstruct或@PreDestroy。

我希望Dagger以与Spring相同的方式启动/停止对象。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

图中对象的生命周期与图本身的生命周期相同。一旦图表被垃圾收集,图表中的所有对象也将被收集。

我通过在Dagger中创建子图来实现这一目标。子图将包含需要更短生命周期的所有对象(该图中的单例)。应用程序范围的对象位于子图所依赖的主图中。

PS。我不熟悉Spring,所以我无法解释这与Spring的关系。

答案 1 :(得分:0)

打开https://github.com/google/dagger/issues/455以查明是否已计划或将永远不会实施。 @ Alex-Collins解决方案(解决方法?)是via a LifeCycleManagerexplicit register() in the Dagger Module Provides

相关问题