解释Javascript中本机内存和堆内存之间的差异
我正在调试一个使用了太多内存的Javascript应用程序。在Heap Profiler中,它说大约有300MB,但根据Chrome的任务管理器,它总共使用了大约950MB,以及40MB的“Javascript内存” 基于以下问题,任务管理器和堆探查器之间的650MB差异似乎是由于本机内存造成的: 然而,我不知道什么是“本机内存”,谷歌搜索也没有什么帮助什么类型的东西进入本机内存,我如何调试使用了这么多本机内存的东西? 可能的重复项(所有未答复):解释Javascript中本机内存和堆内存之间的差异,javascript,google-chrome,memory-management,Javascript,Google Chrome,Memory Management,我正在调试一个使用了太多内存的Javascript应用程序。在Heap Profiler中,它说大约有300MB,但根据Chrome的任务管理器,它总共使用了大约950MB,以及40MB的“Javascript内存” 基于以下问题,任务管理器和堆探查器之间的650MB差异似乎是由于本机内存造成的: 然而,我不知道什么是“本机内存”,谷歌搜索也没有什么帮助什么类型的东西进入本机内存,我如何调试使用了这么多本机内存的东西? 可能的重复项(所有未答复): 我不会就此出手,但我假设本机内存是chro
我不会就此出手,但我假设本机内存是chrome为javascript任务保留的全部内存片。这就是为什么它会显示在任务管理器中。 另一方面,堆内存包含javascript任务分配的所有对象。当这样一个对象不再有引用时,它可能会被垃圾收集器从堆中删除。 如果您的javascript任务收集了越来越多的堆,那么您的代码中可能存在漏洞。堆探查器可以支持您查找此类内存泄漏,但一般来说,在编写任何代码时,请注意清除对所有对象的引用