前端相關 效能優化

2022-03-08 20:08:23 字數 1132 閱讀 2935

盡量使用字型圖示或者svg圖示,需要使用時,格式盡可能使用webp(保證質量的情況下把體積壓縮到最小),體積比較小的(10k以下的樣子)轉化成 webp 反而體積變大了,小圖就可以使用base64。

使用base64【正常方式載入,需要經歷:請求、編碼、渲染三個步驟,而每個步驟都需要一些時間,而base64是直接給設定對應的編碼,瀏覽器只需要渲染即可。問題:base64碼太長了,不方便開發和維護,也增加了頁面請求的時間,所以真實專案中,base64我們一般會基於webpack編譯生成,而且不要過度使用】

.....

dns的預解析

使用 webwoker 和 scoket.io 實現資料實時通訊,避免長輪詢

開啟 http 的connection:keep-alive長連線

採用快取機制:強快取、協商快取、資料快取 瀏覽器 的 協商快取 與 強快取

使用 http2.0 來處理【多路復用 & 主動推送 & 減少頭資訊的傳輸 & 二進位制格式傳輸】

減少對於 cookie 的使用(最主要的是減少本地 cookie 儲存內容的大小),【原因:每一次向伺服器請求,都會把 cookie 帶上】

基於 ajax/fetch 獲取的資料,對於不經常更新的做快取【本地儲存】

....

2.1 減少dom的重排和重繪

瀏覽器渲染乙個頁面的時候是按照「先建立dom樹->再載入css->生成渲染樹 render tree->把渲染樹交給瀏覽器(gpu)進行繪製」,如果後期我們修改了元素的樣式(但是沒有改變大小和位置),瀏覽器會把當前元素重新生成渲染樹,然後重新渲染,這個機制是重繪,但是一旦元素的位置或者大小等發生改變,瀏覽器就要從dom樹重新計算渲染,這個機制是回流(重排),不論是重排還是重繪都非常的消耗效能,儘量減少操作 dom 引發的回流和重繪問題,常用的解決方案:

2.2 css相關優化

2.3 js相關優化(記憶體優化、複雜度優化、效能優化)

2.4 基於骨架層【ssr或者前端骨架屏】,減少首屏載入的時間【防止白屏效果】

純前端骨架屏方案【loading效果】

2.5 seo 優化

搜尋引擎優化,利用搜尋引擎的規則提高**在有關搜尋引擎內的自然排名。

2.6 cdn

做 cdn 加速,使用 cdn 【伺服器分布式】,比較燒錢。

hashCode相關效能優化

學習下hashmap中用到的關於hashcode效能優化技巧,作為筆記,為之後併發深入作基礎。1.關於提高效能的hash演算法 在被模的位數為2的n次方時,用位與代替效率低下的模運算。位與效率相比模運算效率更高。例 15 4 3,代替為 15 3 1111 0011 0011 3 hashmap中在...

hashCode相關效能優化

學習下hashmap中用到的關於hashcode效能優化技巧,作為筆記,為之後併發深入作基礎。1.關於提高效能的hash演算法 在被模的位數為2的n次方時,用位與代替效率低下的模運算。位與效率相比模運算效率更高。例 15 4 3,代替為 15 3 1111 0011 0011 3 hashmap中在...

前端相關總結

arr.indexof i 判斷i是否在arr陣列中。js方法 var arr new array js新建陣列。xx jquery選擇器。text 獲取或者改變指定元素的文字 jquery html 獲取或改變指定元素的html元素以及文字 jquery val 獲取或者改變指定元素的value值...