【发布时间】:2017-08-31 03:28:47
【问题描述】:
【问题讨论】:
-
您知道选项卡不仅仅是在视口上加载的内容吗?
-
@JosephtheDreamer 实际上,不,我没有。这就是我问的原因。
标签: javascript google-chrome profiling google-chrome-devtools heap-profiling
【问题讨论】:
标签: javascript google-chrome profiling google-chrome-devtools heap-profiling
并非浏览器分配的每一位内存都被分配在堆上的 ECMAScript 对象使用。还有分配在堆栈上的 ECMAScript 对象、ECMAScript 运行时本身、下载的资源(HTML、CSS、ECMAScript、SVG、PNG、GIF、JPEG ……)、DOM 对象、显示树、显示缓冲区、缓存、浏览器本身等
此外,转储堆只会转储活动对象,而不转储垃圾,并且会压缩堆,因此即使“活动”堆本身也会比堆转储大,因为活动堆还包含未处理的死对象还没有被垃圾回收,还有可用内存的“漏洞”。
tl;dr:堆转储仅包含紧密打包在一起的活动对象。 真正的堆还包含死对象和空洞,此外,除了 ECMAScript 堆之外,还有很多东西。
【讨论】: