国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

yzd / 3531人閱讀

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

0. 瀏覽器渲染原理:

  1. 輸入網(wǎng)址 ?-> dns查詢 -> dns緩存 -> 三次握手建立連接 -> 瀏覽器發(fā)送請(qǐng)求到服務(wù)器 -> 服務(wù)器返回html -> 瀏覽器渲染頁面;?
  2. 瀏覽器渲染過程(webkit為例):
    ① 首先進(jìn)行dom解析,css解析,構(gòu)建dom樹;(display:none的元素在dom樹)
    ② css解析完成css rules加到dom樹上,生成render tree(回流reflow階段,應(yīng)盡量避免);(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預(yù)加載資源;
  3. 利用事件冒泡機(jī)制,采用事件委托方法綁定事件;
  4. 瀏覽器渲染時(shí),開啟硬件加速可以生成復(fù)合層,復(fù)合層交給GPU渲染,但不能濫用;

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

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

3. 代碼層面:

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

? ? ?

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/2334.html

相關(guān)文章

  • 前端知識(shí)點(diǎn)整理

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

    Lowky 評(píng)論0 收藏0
  • 前端知識(shí)點(diǎn)整理

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

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

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

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

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

    bovenson 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<