我有一个简单的应用程序,它使用entryComponents
和ComponentFactoryResolver.resolveComponentFactory
来根据数据以很高的速率注入组件。我使用viewContainerRef.clear();
,每个注入的组件都有一个OnDestroy方法。据我所知,我的代码没有泄漏任何内容(在破坏时不订阅每个可观察对象),但是为什么要把所有这些分离的节点保留在内存中呢?
我使用了很多ngIf,ngFor,ngClass等。我认为垃圾收集器应该将这些未使用的节点扔掉。但是他没有。
有人知道我应该找什么吗?还是我的基本假设是错误的,明确应该注意这一点?如果是这样,我该如何手动调用OnDestroy并删除该组件?