欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript使用performance實(shí)現(xiàn)查看內(nèi)存

 更新時(shí)間:2024年03月22日 09:51:11   作者:卓卓不是桌桌  
這篇文章主要為大家詳細(xì)介紹了JavaScript如何使用performance實(shí)現(xiàn)查看內(nèi)存,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

正常情況下我們可以在控制臺(tái)中查看當(dāng)前頁面或應(yīng)用程序的內(nèi)存使用情況

瀏覽器環(huán)境中,你可以使用瀏覽器的開發(fā)者工具Memory來查看內(nèi)存信息

如果你想在 JavaScript 中獲取內(nèi)存信息并打印到控制臺(tái),你可以使用性能 API 中的 memory 或者 measureUserAgentSpecificMemory 屬性

查看頁面內(nèi)存占用情況

console.log(performance.memory);
{
    jsHeapSizeLimit: 4294705152
    totalJSHeapSize: 102883888
    usedJSHeapSize: 87997796
}

jsHeapSizeLimit:JavaScript 堆的大小限制。

totalJSHeapSize:JavaScript 堆的總大小。

usedJSHeapSize:JavaScript 堆的使用大小。

查看特定對象的占用情況

在這里我已經(jīng)簡單給大家封裝了一遍

// 創(chuàng)建一個(gè)對象,用于測量其內(nèi)存消耗
var myObj = { data: 'some data' };

// 在對象上執(zhí)行一些操作,增加內(nèi)存消耗
for (var i = 0; i < 100000; i++) {
    myObj['property' + i] = 'value' + i;
}
if (crossOriginIsolated) {
    runMemoryMeasurements(myObj)
} else {
  console.error(
        crossOriginIsolated + ' crossOriginIsolated\n Cross-Origin-Opener-Policy 設(shè)置為 same-origin(保護(hù)源站免受攻擊)\n Cross-Origin-Embedder-Policy 設(shè)置為 require-corp(保護(hù)源站免受侵害)'
  );
}
function runMemoryMeasurements(obj) {
    const interval = 5000;
    console.log(`下一次測量5 秒.`);
    setTimeout(this.measureMemory(obj), interval);
}

function measureMemory(obj) {
    // 測量對象的內(nèi)存消耗
    window.performance
     .measureUserAgentSpecificMemory(obj)
     .then(function (bytes) {
       console.log('內(nèi)存占用:', getFileSize(bytes.bytes));
       runMemoryMeasurements(obj)
     });
}

function getFileSize(size) {
   //把字節(jié)轉(zhuǎn)換成正常文件大小
   if (!size) return '';
   var num = 1024.0; //byte
   if (size < num) return size + 'B';
   if (size < Math.pow(num, 2)) return (size / num).toFixed(2) + 'KB'; //kb
   if (size < Math.pow(num, 3))
     return (size / Math.pow(num, 2)).toFixed(2) + 'MB'; //M
   if (size < Math.pow(num, 4))
     return (size / Math.pow(num, 3)).toFixed(2) + 'G'; //G
   return (size / Math.pow(num, 4)).toFixed(2) + 'T'; //T
}

可以把vconsole打開,方便移動(dòng)端查看

注意??瀏覽器需要校驗(yàn)crossOriginIsolated: 是一個(gè)新的安全特性,用于表示一個(gè)頁面或者一個(gè) Worker 是否啟用了跨域隔離 未配置:會(huì)在控制臺(tái)提示你未開啟

怎么開啟呢 nginx.conf路由配置模塊添加

  location /origin1 {
      add_header 'Cross-Origin-Embedder-Policy' 'require-corp';
      add_header 'Cross-Origin-Opener-Policy' 'same-origin';   
      ......
  }

woker 中:

const worker = new Worker('your-worker.js', { crossOriginIsolated: true });

正確開啟后如圖

到此這篇關(guān)于JavaScript使用performance實(shí)現(xiàn)查看內(nèi)存的文章就介紹到這了,更多相關(guān)JavaScript performance查看內(nèi)存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論