如何确保使用 Google Dagger 2 释放资源

How to ensure resources are released using Google Dagger 2

Google Dagger 2 都是关于对象范围的,例如当您在 http 请求期间需要对象时,您可以使用 @RequestScope.

注释您的提供者方法

但是需要释放一些提供的资源,例如CloseableHttpClient needs to be closed or an ExecutorService needs to be shutdown

如何使用 Google Dagger 2 指定必须执行哪些操作才能释放超出范围的对象?

How can I specify which actions have to be taken in order to release an object when it goes out of scope using Google Dagger 2?

你不能。 Dagger 2 是关于提供依赖项来创建你的对象,而不是管理它们。

如果您有需要停止或关闭的对象,您仍然必须使用组件生命周期方法(如活动 onDestroy)来执行此操作。