Angular Memory Leak Chrome开发人员工具

时间:2019-04-17 08:38:21

标签: angular memory-leaks google-chrome-devtools

我正在尝试在Angular 7应用程序中发现内存泄漏 我比较了两个快照,发现有一个组件(GridBuilderComponent)被调用了4次,并且也被破坏了(注意ngOnDestroy被执行)。

但是在“内存快照比较”窗口中,我看到 #New 列的值为 4 ,而 #Deleted 列的值为< strong> 0 如下,enter image description here

我尝试使该组件上ngOnDestroy中的大多数属性无效,但是分配大小仍然相同。即272 enter image description here

所以我的问题是为什么对GridBuilderComponent的引用在销毁后仍然有效?即使在取消所有属性并取消订阅服务引用之后。 任何指针都会有所帮助。

我尝试过的一项操作是删除组件的属性,如下所示: Object.keys(this).forEach(item => { delete this[item]; });

尽管这不会从内存中删除组件,但确实有助于将组件在内存上的分配大小272减小到24,请参见以下快照: enter image description here

0 个答案:

没有答案