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 回答