有没有办法知道在Javascript应用程序中垃圾收集的对象类型最多?
我知道我可以获得堆快照,但这只会告诉哪些对象最常见,而不是最垃圾收集。
Heap Allocations不提供有关Object类的详细信息。
答案 0 :(得分:1)
使用哪个JavaScript运行时引擎?每个引擎都有自己的GC和自己监控GC事件的方式。如果您想要了解有关一个GC实现的更多信息,Chrome V8引擎将是一个很好的起点:https://developers.google.com/v8/如果您从github https://chromium.googlesource.com/v8/v8.git获取源代码,您将找到文件src / heap / gc -tracer。[h | cc]提供了很多功能,您可以为自己的分析需求添加更多功能。
答案 1 :(得分:1)
我想你可以通过获取多个堆快照然后比较快照来识别正在收集垃圾的对象来做到这一点。 您可以参考this回答。希望它有所帮助:)