真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

html5前端性能測(cè)試的示例

這篇文章主要為大家展示了html5前端性能測(cè)試的示例,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來(lái)研究并學(xué)習(xí)一下“html5前端性能測(cè)試的示例”這篇文章吧。

成都做網(wǎng)站、成都網(wǎng)站建設(shè)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶提供服務(wù)是我們的理念。成都創(chuàng)新互聯(lián)公司把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來(lái)開(kāi)發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!

html有什么特點(diǎn)

1、簡(jiǎn)易性:超級(jí)文本標(biāo)記語(yǔ)言版本升級(jí)采用超集方式,從而更加靈活方便,適合初學(xué)前端開(kāi)發(fā)者使用。 2、可擴(kuò)展性:超級(jí)文本標(biāo)記語(yǔ)言的廣泛應(yīng)用帶來(lái)了加強(qiáng)功能,增加標(biāo)識(shí)符等要求,超級(jí)文本標(biāo)記語(yǔ)言采取子類(lèi)元素的方式,為系統(tǒng)擴(kuò)展帶來(lái)保證。  3、平臺(tái)無(wú)關(guān)性:超級(jí)文本標(biāo)記語(yǔ)言能夠在廣泛的平臺(tái)上使用,這也是萬(wàn)維網(wǎng)盛行的一個(gè)原因。 4、通用性:HTML是網(wǎng)絡(luò)的通用語(yǔ)言,它允許網(wǎng)頁(yè)制作人建立文本與圖片相結(jié)合的復(fù)雜頁(yè)面,這些頁(yè)面可以被網(wǎng)上任何其他人瀏覽到,無(wú)論使用的是什么類(lèi)型的電腦或?yàn)g覽器。

一、開(kāi)篇:H5 頁(yè)面加載過(guò)程淺析

如下圖所示,是精選平臺(tái)打開(kāi) H5 頁(yè)面的幾個(gè)過(guò)程截圖。

html5前端性能測(cè)試的示例

圖一到圖四可以簡(jiǎn)單分類(lèi),圖一是 App 負(fù)責(zé)做的事情,主要是初始化 Webview 上下文;后面三張圖則是一個(gè)H5頁(yè)面加載的過(guò)程。其中,App 這個(gè)階段的耗時(shí),主要是 Native 代碼的耗時(shí),這里先不展開(kāi)討論,我們重點(diǎn)放在后面幾個(gè)階段。第四個(gè)圖是用戶直觀看到的第一屏頁(yè)面,我們通常稱為首屏。

html5前端性能測(cè)試的示例

1)加載網(wǎng)絡(luò)請(qǐng)求

這個(gè)過(guò)程主要是 Webview 拿到 H5 頁(yè)面 url 之后,調(diào)用 loadUrl 方法,開(kāi)始去網(wǎng)絡(luò)上請(qǐng)求第一個(gè)資源文件。這個(gè)階段主要包含 DNS 解析、建立網(wǎng)絡(luò)鏈接、數(shù)據(jù)傳輸?shù)暮臅r(shí)。

2)html 解析

Webview 拿到 html 返回后,需要從上至下解析 html 中的標(biāo)簽和內(nèi)容,識(shí)別外鏈資源、計(jì)算頁(yè)面框架的布局,并渲染繪制出來(lái)。在這個(gè)過(guò)程中會(huì)構(gòu)建出負(fù)責(zé)頁(yè)面結(jié)構(gòu)的 DOM Tree 和負(fù)責(zé)頁(yè)面布局展示的 Render Tree,如下圖所示:

html5前端性能測(cè)試的示例

3)外鏈資源加載

這部分主要是從網(wǎng)絡(luò)上加載外鏈的 css、圖片和 js 等,再重新填充到 html 中。之后重新進(jìn)行一次 layout 布局計(jì)算和頁(yè)面渲染繪制,此時(shí)看到的才是有完整內(nèi)容的頁(yè)面。如下圖所示,頁(yè)面需要等圖片和 css 加載出來(lái)后才能展示,js 也是外鏈資源,不過(guò)一般來(lái)說(shuō),只要放在 html 底部加載,就不會(huì)阻塞頁(yè)面的渲染和展示。

html5前端性能測(cè)試的示例

二、實(shí)例分析:白屏問(wèn)題

前面我們已經(jīng)了解了 H5 頁(yè)面加載過(guò)程,接下來(lái)如果遇到白屏,我們自然會(huì)問(wèn),怎么才能知道頁(yè)面當(dāng)前處在哪個(gè)階段,每個(gè)階段耗時(shí)多長(zhǎng),以及整體首屏加載的耗時(shí)呢?

首先看下通過(guò) PC Chrome 模擬 H5 頁(yè)面的情況。Chrome Devtool 提供的 Performance 工具,可以錄制頁(yè)面從第一個(gè)請(qǐng)求到加載完成的所有事件,通過(guò)這種方式可以很詳細(xì)的看到各階段做的事情和具體的耗時(shí)。

html5前端性能測(cè)試的示例

其中兩個(gè)最關(guān)鍵的首屏耗時(shí)指標(biāo):domContentLoaded(首屏頁(yè)面可見(jiàn))onLoad(首屏加載完成)的耗時(shí),除了圖示的方法,還可以通過(guò)在 console 里打印全局變量window.performance.timing,拿到時(shí)間戳并計(jì)算得到。

但實(shí)際我們要的是移動(dòng)設(shè)備的真機(jī)數(shù)據(jù),這個(gè)才能真實(shí)反應(yīng)頁(yè)面性能和用戶體驗(yàn)。想要獲取 H5 真機(jī)耗時(shí),一種方式是 js 代碼進(jìn)行上報(bào);另一種是對(duì)于 Android 設(shè)備,可以用 remote-debug 的方式遠(yuǎn)程調(diào)試真機(jī)頁(yè)面。只需要保證 webview 調(diào)試開(kāi)關(guān)打開(kāi) & 與 PC USB 連接且開(kāi)啟 USB 調(diào)試,就可以在 PC Chrome 訪問(wèn) chrome://inspect 來(lái)獲取調(diào)試對(duì)象。之后參考 PC Chrome 模擬 H5 的方法即可拿到數(shù)據(jù)。

html5前端性能測(cè)試的示例

對(duì)于傳統(tǒng)頁(yè)面而言,實(shí)際分析發(fā)現(xiàn)大部分耗時(shí)還是在移動(dòng)網(wǎng)絡(luò)請(qǐng)求這部分,所以最直接有效的方式就是對(duì)頁(yè)面進(jìn)行直出改造,也就是改變先加載 html、再加載 css 等數(shù)據(jù)的情況,先在后端(比如 nodejs)并行加載首屏依賴的所有 css、js 和后臺(tái)接口數(shù)據(jù),拼裝好一個(gè)完成的最終要呈現(xiàn)的 html 再回給前端,達(dá)到秒開(kāi)的效果。

三、實(shí)例分析:卡慢問(wèn)題

有時(shí)候用戶在頁(yè)面交互的過(guò)程中會(huì)遇到卡慢,比如上下滑動(dòng)列表、左右切換或者輪播等。這個(gè)過(guò)程無(wú)非也是執(zhí)行 js、請(qǐng)求資源、計(jì)算新的頁(yè)面布局并渲染繪制這幾件事。通過(guò) Performance 分析就會(huì)發(fā)現(xiàn),卡慢其實(shí)并不全是很多人認(rèn)為的“移送設(shè)備性能就是差”,有時(shí)候其實(shí)是假性卡頓。

html5前端性能測(cè)試的示例

比如下面這個(gè)就是熱區(qū)過(guò)小的問(wèn)題:

html5前端性能測(cè)試的示例

真卡的情況,往往腳本報(bào)錯(cuò)占了很大比重,直觀表現(xiàn)就是頁(yè)面是卡死,而不是變慢。其他的諸如內(nèi)存問(wèn)題,通常表現(xiàn)是頁(yè)面越來(lái)越卡,因?yàn)槭褂脮r(shí)間越長(zhǎng),資源消耗越大。比如頁(yè)面使用了比較復(fù)雜的 canvas 動(dòng)畫(huà)、比較耗性能的 iframe 元素,或者直播流媒體,這種情況下容易出現(xiàn)內(nèi)存泄漏。

下面這個(gè)就是 dom 節(jié)點(diǎn)引發(fā)的內(nèi)存泄漏,不使用的 commentList 列表沒(méi)有釋放,越積越多到長(zhǎng)度幾萬(wàn)個(gè)的時(shí)候開(kāi)始卡頓。

html5前端性能測(cè)試的示例

四、總結(jié):H5 前端性能測(cè)試方案

當(dāng)然,前端性能不僅僅表現(xiàn)在白屏、卡頓問(wèn)題,也有可能是手機(jī)過(guò)度發(fā)熱等等。從用戶核心體驗(yàn)出發(fā),我們認(rèn)為,H5 前端性能最重要的參考標(biāo)準(zhǔn)就是:要以最輕量的方式,給用戶最好的體驗(yàn)。從這個(gè)方向出發(fā),我們積累了一些測(cè)試經(jīng)驗(yàn),其中最重要的必過(guò)項(xiàng)是首屏速度(不僅提升用戶體驗(yàn),還可以提升業(yè)務(wù)的轉(zhuǎn)化率),其次流暢度、流量和 CPU 等,某些場(chǎng)景下也是需要重點(diǎn)考量的點(diǎn)。

html5前端性能測(cè)試的示例

以上就是關(guān)于“html5前端性能測(cè)試的示例”的內(nèi)容,如果改文章對(duì)你有所幫助并覺(jué)得寫(xiě)得不錯(cuò),勞請(qǐng)分享給你的好友一起學(xué)習(xí)新知識(shí),若想了解更多相關(guān)知識(shí)內(nèi)容,請(qǐng)多多關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


標(biāo)題名稱:html5前端性能測(cè)試的示例
地址分享:http://weahome.cn/article/jheisd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部