我用这样的方法构建我的AppComponent:
public void buildObjectGraph() {
component = DaggerMyAppComponent.builder()
.myAppModule(new myAppModule(this))
.apiModule(new ApiModule())
.dataModule(new DataModule())
.utilsModule(new UtilsModule())
.backendModule(new BackendModule())
.build();
component.inject(this);
}
如果我第二次调用方法,它将创建另一个带有新对象(单例)实例的图形,但之前创建的图形一直存在,直到系统收集垃圾。取决于在其中创建的对象类型 - 可能需要一些时间,因为可能存在一些异步操作,api调用以及其他不再需要但仍需要完成的内容。
我知道构建许多图表听起来很荒谬,但我只是在测试中使用它。
我正在寻找的是以某种方式销毁在第一次调用buildObjectGraph()之后创建的所有对象。我可以用它们引用AppComponent。
甚至可能吗?
答案 0 :(得分:0)
您无法在Java中显式销毁对象。您可以将垃圾收集器提示为垃圾收集(System.gc()),但根本无法保证。