【发布时间】:2018-04-09 14:14:22
【问题描述】:
我正在尝试创建一个动态组件。 Here 是 plunker 中的示例。 http://embed.plnkr.co/EVFglgkp24hkRkpxrEGe/ 一切正常,但存在内存泄漏。
Here是github票https://github.com/angular/angular/issues/19997
动态创建的组件被销毁,但创建动态组件的组件没有被销毁。换句话说,编译动态组件的组件没有被销毁。
在上面的示例中,如果我们在“主页”和“动态页面”之间来回导航并在 chrome 中拍摄内存快照,您可以看到假定被销毁的组件仍然存在,如下图所示。
出于测试目的,我什至尝试评论以下行,但问题仍然存在。
let injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);
let ngMdlRef = ngMdlFac.create(injector);
let cmpFactory = ngMdlRef.componentFactoryResolver.resolveComponentFactory(DynamicHtmlComponent);
this.cmpRef = this.vcRef.createComponent(cmpFactory);
我打电话的那一刻
this.compiler.compileModuleAsync
创建者组件根本没有被销毁。在那之前没有问题。
你能请人帮忙吗?提前谢谢你。
【问题讨论】:
标签: angular memory-leaks angular-compiler