javascript - 有没有办法找到有关使用 chrome 开发工具释放的对象的任何信息

标签 javascript performance memory-management google-chrome-devtools

我有以下代码:

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");
}

这会创建虚拟数组并造成内存泄漏。这种模式在时间轴上清晰可见。但我也可以看到有对象的释放(用红线标记)。有没有办法找到有关正在释放的对象的任何信息,例如它们创建的时间或地点等?

enter image description here

问题不是如何通过分析代码找到信息,而是使用crhome-dev-tools找到信息

最佳答案

The question is not how to find the information by analyzing the code, but to find it using crhome-dev-tools

如果正确解释问题,您可以使用 console.profile() , console.profileEnd() ; 记录堆分配

参见

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?

关于javascript - 有没有办法找到有关使用 chrome 开发工具释放的对象的任何信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39728030/

相关文章:

javascript - JQuery Tooltipster 隐藏它附加的元素

javascript - 如何使用 Javascript 在 HTML 表格中动态生成列

javascript - 获取javascript中对象上的所有事件监听器

ios - 何时使对象为零以及何时调用释放

c - 释放已分配的内存,消除错误

java - 如何优化代码以始终使用对 String 的相同引用而不增加内存使用量?

javascript - 从数据库打印 PHP 表

c# - 查看在调试器中执行 C# 程序所花费的毫秒数

algorithm - 线性探测具有不等哈希的大量键序列

Python 多处理没有产生预期的加速