什么阻止我的angular2 CompiledTemplate.proxyViewClass被GC'd?

时间:2017-02-08 14:03:05

标签: javascript angular memory-leaks garbage-collection heap-memory

我正在尝试调试angular2应用程序中的内存泄漏。 我有一个测试用例:

  • 我在申请的两条路线之间导航。
  • 仅在导航几次后拍摄内存快照。
  • 然后我导航~100次并拍摄另一张快照。

当我比较快照时,我看到:

  • 快照1包含 45 CompiledTemplate.proxyViewClass对象。
  • snapshot 2有 2551 CompiledTemplate.proxyViewClass对象。

所以似乎整个编译的模板都不是GC。

但现在的问题是,我似乎无法弄清楚泄漏的原因/来源。

以下是CompiledTemplate.proxyViewClass对象在开发工具中的外观:

ChromeMemSnapshot

据我所知,我应该看看retainers对象视图中最顶层的条目。 在我的例子中,这是View_EmployeesListComponent8中的compView_3。

所以我查找这个对象,它在DebugContext中显示_view作为最顶层的保留对象:

View_EmployeesListComponent8 retainers object

但我不认为那是我应该看的地方。 有谁能指出我正确的方向找到这个内存泄漏的原因?

0 个答案:

没有答案