Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS中分析垃圾收集_Javascript_Google Chrome_Firefox_Garbage Collection_Profiling - Fatal编程技术网

Javascript 在JS中分析垃圾收集

Javascript 在JS中分析垃圾收集,javascript,google-chrome,firefox,garbage-collection,profiling,Javascript,Google Chrome,Firefox,Garbage Collection,Profiling,我们的网站上客户端JS代码的性能有问题,这是由半频繁的主要GC操作造成的。我想减少这些临时分配和释放的对象的数量,但我找不到知道这些对象是什么类型的方法,因此: 有没有办法确定在垃圾收集操作期间释放了什么类型的对象?我在Chrome中找不到它,但我很乐意使用其他浏览器。。。我希望有分配调用堆栈,但我也希望只使用对象类型。在Firefox和Chrome上,您可以右键单击,选择“检查”,然后导航到“内存”选项卡。在垃圾收集发生之前和之后拍摄快照,以查看发生了什么变化。两种浏览器都有几种不同的方式来查

我们的网站上客户端JS代码的性能有问题,这是由半频繁的主要GC操作造成的。我想减少这些临时分配和释放的对象的数量,但我找不到知道这些对象是什么类型的方法,因此:


有没有办法确定在垃圾收集操作期间释放了什么类型的对象?我在Chrome中找不到它,但我很乐意使用其他浏览器。。。我希望有分配调用堆栈,但我也希望只使用对象类型。

在Firefox和Chrome上,您可以右键单击,选择“检查”,然后导航到“内存”选项卡。在垃圾收集发生之前和之后拍摄快照,以查看发生了什么变化。两种浏览器都有几种不同的方式来查看内存分配的方式。例如,Firefox有一个很好的树状视图(除了其他列表和细分):

既然您提到了Chrome,下面是一个简单摘要视图的示例,您可以在其中查看单个对象及其大小: