我正在开发一个记录用户屏幕的网络应用程序。它适用于不到20分钟(最好)的截屏视频。但铬在上述时间后崩溃了。
我想知道是否有可能获得应用程序消耗的更新堆大小。我的应用程序仅适用于chrome。
我尝试了代码:
window.performance.memory
每次都给我以下结果:
MemoryInfo {
jsHeapSizeLimit: 793000000,
usedJSHeapSize: 10000000,
totalJSHeapSize: 31200000
}
usedJsHeapSize是JS对象使用的内存总量,包括V8内部对象
totalJsHeapSize是JS堆的当前大小,包括未被任何JS对象占用的可用空间。这意味着usedJsHeapSize不能大于totalJsHeapSize。
请注意,并不一定存在有活动JS对象的totalJsHeapSize。
我开始录制,usedJSHeapSize的大小必须在堆中更新。 如何在javascript或jquery中获取更新的usedJSHeapSize?
window.performance.memory
以上代码一次又一次地给出相同的结果。让我在下面演示:
<script>
console.log("JS Heap size: " + window.performance.memory.jsHeapSizeLimit);
console.log("usedJSHeapSize: " + window.performance.memory.usedJSHeapSize);
var x = [];
for(var i=0; i<12345678; i++) {
x.push(i);
}
console.log("after some calculations usedJSHeapSize: " + window.performance.memory.usedJSHeapSize);
</script>
结果:
JS Heap size: 1620000000
usedJSHeapSize: 10000000
after some calculations usedJSHeapSize: 10000000
答案 0 :(得分:1)
Chrome不允许我们获取更新的堆大小。它一次又一次地返回相同的值。