亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

前端性能優(yōu)化整理

yzd / 3634人閱讀

摘要:瀏覽器渲染原理輸入網(wǎng)址查詢緩存三次握手建立連接瀏覽器發(fā)送請求到服務器服務器返回瀏覽器渲染頁面瀏覽器渲染過程為例首先進行解析,解析,構(gòu)建樹的元素在樹解析完成加到樹上,生成回流階段,應盡量避免的元素不在樹經(jīng)過層疊上下文處理,生成重繪

0. 瀏覽器渲染原理:

  1. 輸入網(wǎng)址 ?-> dns查詢 -> dns緩存 -> 三次握手建立連接 -> 瀏覽器發(fā)送請求到服務器 -> 服務器返回html -> 瀏覽器渲染頁面;?
  2. 瀏覽器渲染過程(webkit為例):
    ① 首先進行dom解析,css解析,構(gòu)建dom樹;(display:none的元素在dom樹)
    ② css解析完成css rules加到dom樹上,生成render tree(回流reflow階段,應盡量避免);(display:none的元素不在dom樹)
    ③ 經(jīng)過層疊上下文處理,生成render layer(重繪repaint階段),可以直接去paint頁面,或者去④;
    ④ 層合并后生成graphics layer,然后GPU繪制。

1. 瀏覽器宿主環(huán)境層面:

  1. 由于單線程解析阻塞限制,可以用script defer屬性異步加載,樣式放頭部,腳本放底部;
  2. 結(jié)合dns-prefetch、dns-preload、preload預加載資源;
  3. 利用事件冒泡機制,采用事件委托方法綁定事件;
  4. 瀏覽器渲染時,開啟硬件加速可以生成復合層,復合層交給GPU渲染,但不能濫用;

2. 網(wǎng)絡層面:

  1. 減少http請求數(shù)量:css、js合并,css sprites,font-icon,base64編碼圖片,圖片懶加載;
  2. 減輕http數(shù)據(jù)請求大?。红o態(tài)資源壓縮,tinypng壓縮圖片,webp格式,gzip壓縮;
  3. 對于cookie性能bug,靜態(tài)資源分開部署,cdn緩存;
  4. 緩存處理(強緩存,協(xié)商緩存),本地緩存;
  5. dns-prefetch,preload;
  6. 反向代理,cdn,負載均衡;

3. 代碼層面:

  1. 利用requestAnimationFrame做持續(xù)動畫;
  2. 緩存dom,優(yōu)化循環(huán)體;
  3. 減少重繪,回流,樣式層面進行層提升;
  4. 閉包使用,內(nèi)存回收;
  5. 代碼復用;
  6. 遞歸時采用尾調(diào)用自身即尾遞歸,永遠不會發(fā)生棧溢出;
  7. 硬件加速時添加z-index,人為干擾復合層的排序,有效減少chrome創(chuàng)建不必要的復合層。

? ? ?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/2334.html

相關文章

  • 前端知識點整理

    摘要:難怪超過三分之一的開發(fā)人員工作需要一些知識。但是隨著行業(yè)的飽和,初中級前端就業(yè)形勢不容樂觀。整個系列的文章大概有篇左右,從我是如何成為一個前端工程師,到各種前端框架的知識。 為什么 call 比 apply 快? 這是一個非常有意思的問題。 作者會在參數(shù)為3個(包含3)以內(nèi)時,優(yōu)先使用 call 方法進行事件的處理。而當參數(shù)過多(多余3個)時,才考慮使用 apply 方法。 這個的原因...

    Lowky 評論0 收藏0
  • 前端知識點整理

    摘要:難怪超過三分之一的開發(fā)人員工作需要一些知識。但是隨著行業(yè)的飽和,初中級前端就業(yè)形勢不容樂觀。整個系列的文章大概有篇左右,從我是如何成為一個前端工程師,到各種前端框架的知識。 為什么 call 比 apply 快? 這是一個非常有意思的問題。 作者會在參數(shù)為3個(包含3)以內(nèi)時,優(yōu)先使用 call 方法進行事件的處理。而當參數(shù)過多(多余3個)時,才考慮使用 apply 方法。 這個的原因...

    snowLu 評論0 收藏0
  • 前端性能優(yōu)化】高性能JavaScript整理總結(jié)

    摘要:然后執(zhí)行環(huán)境會創(chuàng)建一個活動對象,活動對象作為函數(shù)運行的變量對象,包含所有局部變量命名參數(shù)參數(shù)集合和,當執(zhí)行環(huán)境銷毀,活動對象也被銷毀。 高性能JavaScript整理總結(jié) 關于前端性能優(yōu)化:首先想到的是雅虎軍規(guī)34條然后最近看了《高性能JavaScript》大概的把書中提到大部分知識梳理了下并加上部分個人理解這本書有參考雅虎特別性能小組的研究成果,所以跟34 軍規(guī)有很多相似之處有不當之...

    zzbo 評論0 收藏0
  • 前端性能優(yōu)化】高性能JavaScript整理總結(jié)

    摘要:然后執(zhí)行環(huán)境會創(chuàng)建一個活動對象,活動對象作為函數(shù)運行的變量對象,包含所有局部變量命名參數(shù)參數(shù)集合和,當執(zhí)行環(huán)境銷毀,活動對象也被銷毀。 高性能JavaScript整理總結(jié) 關于前端性能優(yōu)化:首先想到的是雅虎軍規(guī)34條然后最近看了《高性能JavaScript》大概的把書中提到大部分知識梳理了下并加上部分個人理解這本書有參考雅虎特別性能小組的研究成果,所以跟34 軍規(guī)有很多相似之處有不當之...

    bovenson 評論0 收藏0

發(fā)表評論

0條評論

yzd

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<