微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 为什么当我们使用“–enable-precise-memory-info”打开Chrome时,usedJSHeapSize总是会增加,即使我在页面中没有做任何事情?

我正在尝试使用 javascript中的闭包和垃圾收集.获得有关内存的信息非常方便.我正在尝试使用window.performance.memory.usedJSHeapSize,但我不知道:

>为什么即使我没有在页面中做任何事情,输出仍在增加
>为什么当我多次刷新页面时,初始输出略有不同? 3xxxxxx – >刷新 – > 4xxxxxx – >刷新 – > 6xxxxxx – > 3xxxxxx – 你看到了这种模式吗?这是否意味着,垃圾收集器被触发 – 比方说 – 每3次刷新一次?通过在加载时添加gc()来确认我的怀疑.

如果你想玩我简单的教育工具,代码at my github.

解决方法

Why the output keeps increasing even though I am not doing anything in the page?

如果使用“堆快照”比较堆快照或从“配置文件”webdev选项卡捕获“分配时间轴”,您会看到在setTimeout回调期间仅调用MemoryInfo的in对象.

然后它变得很明显 – var memory = window.performance.memory;语句触发一个getter,每次都返回一个必须分配的新对象.回调返回后,它是收集的候选人.

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐