一張圖看懂HTML5的前端性能優(yōu)化

2015-10-28 11:18:00 來源:騰訊ISUX 作者:佚名 人氣: 次閱讀 441 條評(píng)論

最近1個(gè)月一直在設(shè)計(jì)HTML5相關(guān)的產(chǎn)品,沒錯(cuò),主要是用于微信的,雖然很多情況下,HTML5頁面的設(shè)計(jì)類似于APP,但是由于是網(wǎng)頁性的東西,對(duì)移動(dòng)網(wǎng)絡(luò)帶寬和瀏覽器性能,CPU,GP...

性能優(yōu)化 代碼優(yōu)化 HTML5優(yōu)化 HTML5教程 HTML5開發(fā)工具

概述

1. PC優(yōu)化手段在Mobile側(cè)同樣適用

2. 在Mobile側(cè)我們提出三秒種渲染完成首屏指標(biāo)

3. 基于第二點(diǎn),首屏加載3秒完成或使用Loading

4. 基于聯(lián)通3G網(wǎng)絡(luò)平均338KB/s(2.71Mb/s),所以首屏資源不應(yīng)超過1014KB

5. Mobile側(cè)因手機(jī)配置原因,除加載外渲染速度也是優(yōu)化重點(diǎn)

6. 基于第五點(diǎn),要合理處理代碼減少渲染損耗

7. 基于第二、第五點(diǎn),所有影響首屏加載和渲染的代碼應(yīng)在處理邏輯中后置

8. 加載完成后用戶交互使用時(shí)也需注意性能

優(yōu)化指南

[加載優(yōu)化]

加載過程是最為耗時(shí)的過程,可能會(huì)占到總耗時(shí)的80%時(shí)間,因此是優(yōu)化的重點(diǎn)

· 減少HTTP請(qǐng)求

因?yàn)槭謾C(jī)瀏覽器同時(shí)響應(yīng)請(qǐng)求為4個(gè)請(qǐng)求(Android支持4個(gè),iOS 5后可支持6個(gè)),所以要盡量減少頁面的請(qǐng)求數(shù),首次加載同時(shí)請(qǐng)求數(shù)不能超過4個(gè)

a) 合并CSS、JavaScript

b) 合并小圖片,使用雪碧圖

· 緩存

使用緩存可以減少向服務(wù)器的請(qǐng)求數(shù),節(jié)省加載時(shí)間,所以所有靜態(tài)資源都要在服務(wù)器端設(shè)置緩存,并且盡量使用長(zhǎng)Cache(長(zhǎng)Cache資源的更新可使用時(shí)間戳)

a) 緩存一切可緩存的資源

b) 使用長(zhǎng)Cache(使用時(shí)間戳更新Cache)

c) 使用外聯(lián)式引用CSS、JavaScript

· 壓縮HTML、CSS、JavaScript

減少資源大小可以加快網(wǎng)頁顯示速度,所以要對(duì)HTML、CSS、JavaScript等進(jìn)行代碼壓縮,并在服務(wù)器端設(shè)置GZip

a) 壓縮(例如,多余的空格、換行符和縮進(jìn))

b) 啟用GZip

· 無阻塞

寫在HTML頭部的JavaScript(無異步),和寫在HTML標(biāo)簽中的Style會(huì)阻塞頁面的渲染,因此CSS放在頁面頭部并使用Link方式引入,避免在HTML標(biāo)簽中寫Style,JavaScript放在頁面尾

部或使用異步方式加載

· 使用首屏加載

首屏的快速顯示,可以大大提升用戶對(duì)頁面速度的感知,因此應(yīng)盡量針對(duì)首屏的快速顯示做優(yōu)化

· 按需加載

將不影響首屏的資源和當(dāng)前屏幕資源不用的資源放到用戶需要時(shí)才加載,可以大大提升重要資源的顯示速度和降低總體流量

PS:按需加載會(huì)導(dǎo)致大量重繪,影響渲染性能

a) LazyLoad

b) 滾屏加載

c) 通過Media Query加載

    無相關(guān)信息