我有以下代码:
var constructors=[];
var counter = 0;
function start() {
for (var i=100; i> 0; i--) {
constructors.push(new arrayValues());
}
if (counter < 10) {
setTimeout(function() {
start();
}, 1000);
}
counter++;
}
function arrayValues() {
this.values = new Array(10000000).join("x");
}
创建虚拟数组并创建内存泄漏。这种模式在时间轴上清晰可见。但我也可以看到有一个对象的释放(用红线标记)。有没有办法找到有关被发布对象的任何信息,例如,何时或何地创建等等?
问题不在于如何通过分析代码来查找信息,而是使用crhome-dev-tools查找信息
答案 0 :(得分:1)
问题不在于如何通过分析代码来查找信息, 但要使用crhome-dev-tools找到它
如果正确解释问题,您可以使用console.profile()
,console.profileEnd()
; Record Heap Allocation
见
profiling anonymous javascript functions (chrome)
Are arrow functions optimized like named functions?
How to detect the memory allocations that are triggering garbage collection in JavaScript?