我看不到任何对Dagger生命周期管理的支持。只有DI,没有@PostConstruct或@PreDestroy。
我希望Dagger以与Spring相同的方式启动/停止对象。我怎么能这样做?
答案 0 :(得分:1)
图中对象的生命周期与图本身的生命周期相同。一旦图表被垃圾收集,图表中的所有对象也将被收集。
我通过在Dagger中创建子图来实现这一目标。子图将包含需要更短生命周期的所有对象(该图中的单例)。应用程序范围的对象位于子图所依赖的主图中。
PS。我不熟悉Spring,所以我无法解释这与Spring的关系。
答案 1 :(得分:0)
打开https://github.com/google/dagger/issues/455以查明是否已计划或将永远不会实施。 @ Alex-Collins解决方案(解决方法?)是via a LifeCycleManager和explicit register() in the Dagger Module Provides。