前端性能優化(1)-內存管理

1.javascript 內存管理

  • 內存的基本概念javascript

    一、分配所需的內存

    二、內存的讀與寫html

    三、不須要時將其釋放java

  • 內存的生命週期程序員

    • 定義變量時就完成了內存分配
    • 內存的釋放依賴垃圾回收銷燬,或者手動銷燬

2.內存以兩種形式存在 棧(stack) 堆(heap)

  • 堆(heap)是沒有結構的web

    數據能夠任意存放。heap用於複雜數據類型(引用類型)分配空間,例如數組對象、object對象。
  • stack是有結構的chrome

    每一個區塊按照必定次序存放(後進先出),stack中主要存放一些基本類型的變量和對象的引用,存在棧中的數據大小與生存期必須是肯定的。能夠明確知道每一個區塊的大小,所以,stack的尋址速度要快於heap。
    常見的 結構 - 遞歸運算。

三、什麼是內存泄漏?

  • 再也不用到的內存,沒有及時釋放,就叫作內存泄漏(memory leak)。
  • 程序的運行須要內存。只要程序提出要求,操做系統或者運行時(runtime)就必須供給內存。
  • 對於持續運行的服務進程(daemon),必須及時釋放再也不用到的內存。不然,內存佔用愈來愈高,輕則影響系統性能,重則致使進程崩潰。
  • 提供自動內存管理,減輕程序員的負擔,這被稱爲"垃圾回收機制"
  • 如今各大瀏覽器一般用採用的垃圾回收有兩種方法:標記清除、引用計數。

四、什麼是垃圾回收機制?

  • 變量的生命週期數組

    • 全局變量瀏覽器

      • 他的生命週期會持續到頁面關閉(這就涉及到了後面要總結的內存泄漏的一種方式)
    • 局部變量chrome-devtools

      • 局部變量,在所在的函數的代碼執行以後,局部變量的生命週期結束,他所佔用的內存會經過垃圾回收機制釋放

五、 如何使用 performance 工具

  • FPS是圖像領域中的定義,是指畫面每秒傳輸幀數,通俗來說就是指動畫或視頻的畫面數

如何使用 performance 工具函數

六、 內存泄漏 -參考文件

7.性能監控EMS 平臺

相關文章
相關標籤/搜索