我正在尝试隔离我的应用程序中的内存泄漏,因为应用程序在一段时间后变得非常慢并最终崩溃,我一直在使用Chrome开发工具来隔离问题所在,但到目前为止我做得很短。
我刚刚进行了时间轴测试,我认为我找到了一些东西,但我不确定我是否正确地解释了结果。
结果如下:
我发现的事情是大约50秒,事件监听器(橙色)和javascript堆(蓝色)的数量显着下降,而节点数(绿色)保持不变。就好像在监听器中永远不会删除节点一样。
这是对正在发生的事情的正确解释吗?也可能是造成这种情况的原因,因为据我所知,我删除了指令中的所有内容,例如使用
$scope.$on('$destroy', function() {
$scope.$destroy();
element.remove();
});
虽然我使用$templateCache
缓存模板,但我看不出这会导致内存泄漏。
总的来说,似乎事件监听器被正确删除,因为它在整个测试过程中处于相当类似的水平。所以我开始对这里的内存泄漏真正有问题,如果它不是引起它的节点的话。“/ p>
有什么想法吗?