成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大贊!Chrome 瀏覽器現在會顯示每個活動標簽頁的內存使用情況了

系統 瀏覽器
Chrome的新懸停卡片為用戶提供了有關每個標簽的內存使用情況的有用見解。對于開發人員,結合DevTools、性能API和仔細的優化,這個功能可以幫助你交付更流暢、內存效率更高的web應用,用戶會喜歡的。

Chrome 瀏覽器最近推出了懸停卡,可以顯示每個打開的標簽頁的內存使用情況。當你將鼠標懸停在某個標簽頁上時,彈出窗口將顯示該標簽頁的內存使用情況,以及 Chrome 瀏覽器的內存保護器功能是否凍結了該標簽頁以節省內存。

該功能使 Chrome 瀏覽器的標簽頁節流行為透明化,并讓用戶深入了解網站的內存消耗情況。

新的懸浮卡基于 Chrome 瀏覽器的內存節省功能(Memory Saver),也可以通過 about:flags 啟用:

內存保護器和性能控制

內存保護器通過凍結不活動的標簽頁,讓它們進入 "睡眠 "狀態,從而為活動標簽頁釋放內存。當你打開大量標簽頁時,這有助于提高性能。

在最新發布的桌面版 Chrome 瀏覽器中,引入了兩個新的性能設置,使 Chrome 瀏覽器的內存使用量最多減少 40%,最少減少 10GB,以保持標簽頁運行流暢,并在電池電量不足時延長電池使用時間。

內存保護器是 Chrome 瀏覽器最近新增的一整套性能控制功能的一部分,其中包括延長電池使用時間的節能器。所有這些功能都旨在根據用戶的系統限制智能優化 Chrome 瀏覽器的性能和資源使用情況。

Chrome使用諸如標簽可見性、標簽是否正在播放音頻以及頁面生命周期事件等信號來判斷一個標簽是否處于非活動狀態。當一個標簽在后臺足夠長時間后,Chrome將凍結JavaScript執行并將標簽置于低內存狀態

這有助于將內存分流到活動的前臺標簽頁,并在打開多個標簽頁時提高性能。當標簽頁回到焦點時,會重新加載。

測量內存使用情況

隨著網絡應用程序越來越復雜,內存管理已成為一個日益重要的問題。內存泄漏或使用效率低下會導致性能問題甚至崩潰。**Chrome DevTools **為調試內存問題提供了強大的工具--只要你知道如何有效地使用它們。

性能監控器

性能監控器可通過 CPU 利用率、FPS 和 DOM 節點等其他關鍵指標,對內存使用情況進行高層次的實時監控。

注意

  • 隨時間穩步增加 JS 堆或 DOM 節點。
  • 某些用戶操作后,JS 堆中出現尖峰。

這可能表明存在潛在的內存問題,值得進一步調查。性能監控器可用于確認可疑問題。

使用 DevTools 測量內存使用情況

Chrome DevTools 中的 "內存 "面板可讓你深入了解頁面的內存消耗情況。你可以對堆分配進行快照,記錄分配時間線,并按組件檢查內存使用情況。

摘要視圖按 DOM 節點、JS 對象等類別顯示總體內存使用情況。對多個快照進行比較可以發現內存泄漏。

分配時間軸顯示交互過程中的實時分配活動。峰值可能表明操作效率低下。篩選特定組件可隔離其影響。

最后,"分配采樣 "視圖將內存使用情況映射到單個頁面組件,如文檔、框架、網絡工作者和圖形層。這將揭示任何高使用率的來源。這將堆剖析器的詳細快照信息與性能面板的增量更新和跟蹤相結合。

跟蹤對象的堆分配通常涉及開始記錄、執行一系列操作,然后停止記錄以進行分析。

因此,DevTools為理解 web應用的內存特性提供了強大的工具集。對于診斷泄漏和檢測回歸來說,它是無價之寶。

使用性能API

對于編程內存測量,瀏覽器API performance.measureUserAgentSpecificMemory() 允許測量頁面的總內存使用情況。

function scheduleMeasurement() {
  // 檢查測量API是否可用。
  if (!window.crossOriginIsolated) {
    console.log('performance.measureUserAgentSpecificMemory()只在跨源隔離的頁面中可用');
    console.log('參見https://web.dev/coop-coep/ 了解更多')
    return;
  }
  if (!performance.measureUserAgentSpecificMemory) {
    console.log('performance.measureUserAgentSpecificMemory()在這個瀏覽器中不可用');
    return;
  }
  const interval = measurementInterval();
  console.log(`在${Math.round(interval / 1000)}秒后運行下一個內存測量`);
  setTimeout(performMeasurement, interval);
}

此方法返回當前頁面及所有相關上下文(如 iframe 和 worker)的聚合RAM使用情況。結果包括將內存使用情況歸因于特定執行上下文的細分。

這個API可以用來收集關于內存消耗的真實用戶數據。長期趨勢可能揭示了網站更改后的漸進泄漏或回歸。

然而,measureUserAgentSpecificMemory()反映了每個瀏覽器的內部內存表示。結果在瀏覽器之間有很大的差異。相對時間的比較是最有意義的。

內存泄漏的常見原因

許多web應用中的內存泄漏源于保留對對象的過時引用,阻止垃圾收集對其進行清理。

一些常見的來源包括:

  • 在DOM分離時忘記移除事件偵聽器
  • 在閉包中無意中捕獲對DOM元素的引用
  • 增長的數據結構,如 map 或數組,不進行清理
  • 未能正確關閉 Web Workers
  • 父 iframe 和 iframe 上下文之間的殘留引用
  • 閉包和意外的引用是一個常見的原因。例如,后來從頁面中刪除的在閉包內添加的DOM元素保持其引用。

內存泄漏往往是無意中引入的,通常隨著時間的推移逐漸增長。但即使修復小的泄漏也可以提高性能。

在典型的用戶流程中分析內存使用情況有助于識別漸進的泄漏來源。DevTools、fuite和其他工具可以定位增長的對象。修復泄漏可能需要重新設計一些邏輯。

力爭實現相對平坦的內存使用情況,而不是呈鋸齒形狀的模式,顯示在重置之間的漸進積累。如果在長時間的會話中累積,即使小于1MB的泄漏也可能值得修復。

結論

Chrome的新懸停卡片為用戶提供了有關每個標簽的內存使用情況的有用見解。對于開發人員,結合DevTools、性能API和仔細的優化,這個功能可以幫助你交付更流暢、內存效率更高的web應用,用戶會喜歡的。

責任編輯:姜華 來源: 大遷世界
相關推薦

2023-03-07 15:55:31

谷歌Chrome瀏覽器

2023-11-08 10:31:11

谷歌Chrome

2010-02-03 17:16:58

Linux內存使用

2015-10-22 10:06:08

靜音標簽頁Chrome

2017-01-18 21:57:14

2010-06-02 11:06:15

Linux 內存監控

2023-10-16 08:09:15

Chrome瀏覽器

2020-06-17 14:10:01

Python內存程序

2024-01-30 15:42:20

微軟EdgeChrome

2010-10-14 16:10:28

MySQL排序

2010-09-26 12:45:29

2022-09-26 09:44:10

Linux

2022-04-07 06:04:00

NetHogs開源網絡工具

2013-07-23 06:56:12

Android內存機制APP內存使用情況Android開發學習

2015-11-09 15:32:34

TorTor網絡隱私網絡

2019-06-24 08:53:01

Bash腳本Linux系統運維

2020-02-10 19:50:08

Linux內存使用命令

2022-07-13 14:26:26

Linux

2009-07-09 18:03:25

tomcatJVM內存

2010-04-09 13:17:32

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线电影日韩 | 美国av片在线观看 | 久草www | 亚洲精品中文字幕在线观看 | 麻豆精品国产91久久久久久 | 亚洲成人自拍网 | 日韩一区二区免费视频 | 日韩欧美黄色 | 亚洲一区二区视频 | 国产一区二区在线视频 | 天天干天天草 | 三区四区在线观看 | 呦呦在线视频 | 香蕉一区| 日韩精品一区二区三区中文在线 | 欧洲精品久久久久毛片完整版 | 天堂一区 | 午夜久久久久久久久久一区二区 | 欧美日韩在线国产 | 一区二区三区高清 | 天天干天天插 | 91精品国产91久久久久久三级 | 日韩国产在线 | 中文字幕日韩在线观看 | www.天天操 | 亚洲九色 | 国产欧美一区二区三区日本久久久 | 午夜视频一区二区三区 | 国产操操操 | 日韩精品久久久久久 | 四虎影视在线 | 欧州一区二区 | 欧美一二三区 | 一级片成人 | 欧美三级在线 | 亚洲视频 欧美视频 | 视频精品一区 | 国产精品久久久久久久久久免费看 | 在线免费91 | 成人欧美一区二区三区在线观看 | 99精品欧美一区二区三区 |