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

資訊專欄INFORMATION COLUMN

前端性能優化總結

yanwei / 2116人閱讀

摘要:記錄性能優化相關的知識。將加載和執行分離開,不阻塞渲染和的事件提前加載指定資源使用告訴瀏覽器未來可能會使用到的某個資源,瀏覽器就會在閑時去加載對應的資源。

記錄性能優化相關的知識。

Chrome DevTools — Network

DOMContentLoaded: DOM樹構建完成的時間
Load: 頁面加載完畢。即DOM樹構建完成后,加載完圖片等外部資源的時間
Finish: 是頁面上所有 HTTP 請求發送到響應完成的時間

Waterfall

根據 HTTP 請求的不同階段來進行排序

Start Time:請求開始的時間
Response Time:資源開始下載的時間
End Time:請求結束的時間
Total Duration:請求整個完整過程的時間
Latency?請求等待響應的時間

如下圖所示,Waterfall 右鍵之后選擇 Total Duration,則請求按照整個持續時間排序,不同的顏色代表不同的資源文件,淺色的部分代表資源的等待時間,深色的部分代表下載時間。

懶加載 一、為什么要用懶加載?

二、懶加載的實現原理

首先,將圖片的地址放在其它屬性(data-url)中,而不是 src。

頁面加載時根據 scrollTop 的值判斷圖片是否在可視區域,如果在可視區域,則將 data-url 屬性中的值取出存放到src屬性中(首屏的圖片可以直接加載)。

在滾動過程中,判斷圖片是否在可視區域,如果在,則將 data-url 屬性中的值放到 src 屬性中。

圖片優化

圖片優化的幾種方式:

CSS Sprite 和 BASE64 的對比

各個類型圖片的對比

延遲加載第三方 JS

defer 屬性:渲染 DOM 的過程將和 JS 腳本加載的過程異步進行,但是?JS 腳本的執行要在所有元素解析完成之后(只適用于外部腳本文件)

async 屬性:加載和渲染 DOM 的過程將和?JS 腳本的加載與執行的過程異步進行(只適用于外部腳本文件)

defer 按照加載順序執行腳本文件,async 則不會按照聲明順序執行

具體區別見下圖:

綠色線代表 HTML 解析;藍色線代表 JS 腳本讀取時間;紅色線代表 JS 腳本執行時間。

Preload 和 Prefetch

preload 提供了一種聲明式的命令,讓瀏覽器提前加載指定資源(加載后并不執行),在需要執行的時
候再執行。

將加載和執行分離開,不阻塞渲染和 document 的 onload 事件

提前加載指定資源

使用:

prefetch: 告訴瀏覽器未來可能會使用到的某個資源,瀏覽器就會在閑時去加載對應的資源。

使用:

Gzip -> Brotil

Brotli 壓縮算法具有多個特點,最典型的是以下 3 個:

針對常見的 Web 資源內容,Brotli 的性能相比 Gzip 提高了 17-25%;

當 Brotli 壓縮級別為 1 時,壓縮率比 Gzip 壓縮等級為 9(最高)時還要高;

在處理不同 HTML 文檔時,Brotli 依然能夠提供非常高的壓縮率。

DNS預解析

默認情況下瀏覽器會對頁面中和當前域名不在同一個域的域名進行預獲取,并且緩存,這就是隱式的 DNS Prefetch。如果想對頁面中沒有出現的域進行預獲取,那么就要使用顯示的 DNS Prefetch 。

DNS 預解析是瀏覽器試圖在用戶訪問鏈接之前解析域名,如果一個頁面有多個域名的鏈接,DNS 預解析會在用戶點擊鏈接之前,使用最少的CPU和網絡在后臺進行解析。當用戶點擊已經預解析的域名時,可以平均減少 200 ms 的等待時間,提升用戶體驗 。

 
 
參考文檔:

https://segmentfault.com/a/11...
DNS預解析: https://www.cnblogs.com/golov...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/109897.html

相關文章

  • 前端性能優化常用總結

    摘要:前言對于前端的性能話題,從來都沒有斷絕過。作為一個前端開發者,性能是我們關注的指標。前端發展以來,優化方式,琳瑯滿目,有雅虎軍規等。所以,接下來我會從三個方面就前端性能進行總結網絡方面操作及渲染方面數據方面。 前言 對于前端的性能話題,從來都沒有斷絕過。因為這個東西沒有最好,只有更好。而且往往也是業務的繁雜程度去決定優化程度的。作為一個前端開發者,性能是我們關注的指標。它直接影響著我們...

    oliverhuang 評論0 收藏0
  • 前端性能優化常用總結

    摘要:前言對于前端的性能話題,從來都沒有斷絕過。作為一個前端開發者,性能是我們關注的指標。前端發展以來,優化方式,琳瑯滿目,有雅虎軍規等。所以,接下來我會從三個方面就前端性能進行總結網絡方面操作及渲染方面數據方面。 前言 對于前端的性能話題,從來都沒有斷絕過。因為這個東西沒有最好,只有更好。而且往往也是業務的繁雜程度去決定優化程度的。作為一個前端開發者,性能是我們關注的指標。它直接影響著我們...

    walterrwu 評論0 收藏0
  • 前端性能優化常用總結

    摘要:前言對于前端的性能話題,從來都沒有斷絕過。作為一個前端開發者,性能是我們關注的指標。前端發展以來,優化方式,琳瑯滿目,有雅虎軍規等。所以,接下來我會從三個方面就前端性能進行總結網絡方面操作及渲染方面數據方面。 前言 對于前端的性能話題,從來都沒有斷絕過。因為這個東西沒有最好,只有更好。而且往往也是業務的繁雜程度去決定優化程度的。作為一個前端開發者,性能是我們關注的指標。它直接影響著我們...

    luzhuqun 評論0 收藏0
  • 前端每周清單年度總結與盤點

    摘要:前端每周清單年度總結與盤點在過去的八個月中,我幾乎只做了兩件事,工作與整理前端每周清單。本文末尾我會附上清單線索來源與目前共期清單的地址,感謝每一位閱讀鼓勵過的朋友,希望你們能夠繼續支持未來的每周清單。 showImg(https://segmentfault.com/img/remote/1460000010890043); 前端每周清單年度總結與盤點 在過去的八個月中,我幾乎只做了...

    jackwang 評論0 收藏0
  • 不能錯過的web前端性能優化總結

    摘要:是具有此屬性的域名不需要用戶點擊鏈接就在后臺解析,而域名解析和內容載入是串行的網絡操作,所以這個方式能減少用戶的等待時間,提升用戶體驗。 web前端性能優化主要分為以下幾個板塊: 加載優化 DNS預解析 合并img、css、javascript文件,減少http請求 緩存一切可緩存資源 使用長Cache 使用外聯式引用css、javascript文件 壓縮HTML、css、jav...

    wums 評論0 收藏0
  • 不能錯過的web前端性能優化總結

    摘要:是具有此屬性的域名不需要用戶點擊鏈接就在后臺解析,而域名解析和內容載入是串行的網絡操作,所以這個方式能減少用戶的等待時間,提升用戶體驗。 web前端性能優化主要分為以下幾個板塊: 加載優化 DNS預解析 合并img、css、javascript文件,減少http請求 緩存一切可緩存資源 使用長Cache 使用外聯式引用css、javascript文件 壓縮HTML、css、jav...

    宋華 評論0 收藏0

發表評論

0條評論

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