精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

性能提升80%!詳解H5性能優化秘訣

新聞 前端
隨著移動互聯網的發展,用戶對產品的使用體驗要求越來越高。H5作為業務的重要載體,在移動端的應用非常廣泛,因此H5頁面性能是一個非常核心的用戶體驗指標。

 [[328972]]

前言

隨著移動互聯網的發展,用戶對產品的使用體驗要求越來越高。H5作為業務的重要載體,在移動端的應用非常廣泛,因此H5頁面性能是一個非常核心的用戶體驗指標。

本文結合【餓了么首屏優化實踐】為大家介紹頁面性能優化的思路。

性能提升80%!詳解餓了么H5性能優化秘訣

 

首屏性能指標

性能優化的首要基礎是數據和指標。沒有正確的數據和指標指引,優化思路和方向可能是偏差的。

UC在首屏性能指標的統計上,支持內核指標和標準的W3C標準指標。

內核指標

性能提升80%!詳解餓了么H5性能優化秘訣

 

  • start:blink內核開始創建請求的時間點, 可以理解為 “0”點
  • T0:blink收到http head的時間
  • T1:首屏有內容顯示的時間
  • T2:首屏全部顯示出來的時間

性能W3C指標

首屏時間是指頁面第一屏所有資源完整展示的時間。這是一個對用戶來說非常直接的體驗指標,但是對于前端卻是一個非常難以統計衡量的指標。

通常的做法是,domContentLoadedEventEnd - fetchStart,甚至使用 loadEventStart-fetchStart ,此時頁面DOM樹已經解析完成并且顯示內容。以下給出統計頁面性能指標的方法。

性能提升80%!詳解餓了么H5性能優化秘訣

 

性能監控

線上監控對于數據摸底和發現問題意義重大,一般在測試階段我們只能做到基本的分析,很難獲得在不同環境下真實準確的數據,那怎么知道上線后性能是否有問題,或者怎么在出現問題苗頭的時候,盡快的掐滅呢?實時線上監控是最優的選擇。

岳鷹全景監控平臺,可以將SDK采集上報的數據進行實時分析,可以很直觀很方便的查看應用的性能指標。并且還能通過設置告警規則,當性能指標達到閾值的時候,及時通知,第一時間發現問題,及時處理。

實時大盤

通過實時大盤,初步了解性能波動情況。

性能提升80%!詳解餓了么H5性能優化秘訣

 

查看性能趨勢

查看頁面性能情況,通過核心指標,如首字節、DOM Ready、頁面完全加載等分析首屏性能、頁面加載性能。(如果對接了UC內核,可直觀的通過T2了解首屏性能)

性能提升80%!详解饿了么H5性能优化秘诀

分析定位到具體頁面

進一步分析,了解TOP訪問頁面的性能情況

性能提升80%!詳解餓了么H5性能優化秘訣

通過多維度聚合分析,更進一步定位到問題范圍

性能提升80%!详解饿了么H5性能优化秘诀

詳情分析

性能提升80%!詳解餓了么H5性能優化秘訣

性能優化思路

通過線上數據進行摸底分析之后,可以繼續進行深入分析和優化。

1 優化方向

前端:前端圍繞著優化首屏,收斂域名,js資源治理,js耗時治理,圖片治理,接口治理等方向展開。

客戶端:客戶端圍繞著提升容器啟動速度,優化攔截邏輯,為前端提供預加載等各種能力,提供類原生體驗等方向展開。

【干貨預警】下面是我們在餓了么端H5優化專項中,整體的優化思路。

性能提升80%!詳解餓了么H5性能優化秘訣

H5資源和數據都依賴于網絡,所以優化中的一大策略就是預加載。我們先來了解一下H5場景中,有哪些常見的緩存。

  • HttpCache:通過一定規則讓網絡回來的資源緩存在本地,下次使用的時候可以直接從本地讀取。stale-while-revalidate可以允許資源在過期之后,在一段時間內可以繼續使用,同時發起一個異步請求,可以允許資源先使用,再驗證。
  • LocalStorage:前端可以使用LocalStorage將資源存儲在本地,類似的還有IndexedDB。LocalStorage也有一些限制,比如一個域名只能存儲5M數據,不能跨域讀取。
  • MemoryCache:內存緩存, Chrome中的MemoryCache主要由GC管理,資源進入MemoryCache的時候會關聯一個弱引用,在主文檔關閉的時候會被清除。
  • 離線包(ZCache):用戶訪問頁面時,內核會通過shouldInterceptRequest詢問外殼是否有可用資源,如果有可用資源,外殼會返回資源,不用再去網絡請求資源?!綵Cache會走到外殼攔截邏輯,效率比HttpCache低一些,一般資源到Blink內核需要100ms,主文檔需要300ms】
  • NetCache:DNS解析結果,長連接復用。
  • V8 Bytecode Cache:V8字節碼緩存?!綣S執行過一次,第二次執行能明顯減少時間】。
  • Image Decode Cache:圖片解碼緩存。
  • PageCache:頁面級緩存,在UC上角WebViewCache,在UC瀏覽器上點擊前進后退按鈕,就會產生WebViewCache。

針對這些緩存,我們常用的預加載手段。

  • 提前加載整屏文檔:主要用在信息流,提前加載前幾個Item的文檔,用戶點擊的時候可以秒開訪問。
  • 提前加載首屏圖片:主要用在信息流,點擊訪問文檔時,圖片的請求同時發出去,在文檔解析需要用到圖片時,首屏圖片已經提前加載到本地了。
  • Link preload:在資源響應頭或者主文檔頭部標記出需要預加載的資源,內核會根據一定規則和優先級去提前加載這些資源,
  • Module preload:類似于Link preload,但它是模塊級的預加載,除了可以預加載模塊的依賴資源,還可以提前編譯和解析模塊JS。
  • Link prefetch:域名提前尋址。
  • 提前加載接口數據:導航預加載&算法閑時預加載。

關于接口預加載,我們是在js plugin里面做的。當然還可以在網絡庫中間件中攔截處理。HTTP接口預加載的兩種實現方式:

  • shouldInterceptRequest攔截:在這里攔截是否有Response緩存,返回返回,缺點是不能做接口同步,
  • MtopWVPlugin(ANetBridge)攔截:我們重新實現了一個和MtopWVPlugin一樣的JS Plugin擴展,在擴展層做攔截。

2 性能分析工具和平臺

  • 魯班尺:UC魯班尺是基于Lighthouse來做的,它會分析頁面在內核中真實渲染的情況, 并給出優化建議。
  • 海鷗實驗室:UC海鷗實驗室是一個性能分析平臺,它可以提供完善的首屏、內存、啟動、幀率分析數據。
  • Lighthouse:檢測頁面性能瓶頸。
  • Timeline:記錄頁面運行過程的具體細節,用于分析頁面出現問題的具體位置。
  • Profile:分析頁面內存的使用情況和JS/CSS執行時間。一般可以用TImeline定位出大概位置,再用JavaScript CPU profiler詳細分析每個JS函數的耗時。
  • Chrome Trace:記錄頁面在瀏覽器內核執行的完整過程,粒度精細到每個函數方法,可以很準確的定位到具體問題。

優化實踐

接下來我們來看看如何去分析一個H5頁面的性能優化點。

1 拿到性能分析數據

可以使用UC魯班尺平臺。它會生成一份性性能報告

性能提升80%!詳解餓了么H5性能優化秘訣

魯班尺是基于Lighthouse做的,Lighthouse本地跑的時候,除了可以生成性能報告,還可以生成Chrome Trace文件,便于我們分析。

當然也可以本地去抓Timeline、Chrome Trace日志。拿到性能報告后,我們可以大致看看哪些地方比較耗時,資源加載,S耗時等等。再根據Trace日志去具體分析。

2 拿到T2日志,分析T2時間線

如果對接了UC內核,可以分析T2日志,分析的時候關注幾個數據:

  • frameCount:最后一次T2的frameCount,表示T2在這一幀計算完成。我們在Trace界面搜索T2Paint_Event的時候,找到這個frameCount,按下m鍵,標記T2線。
  • tStart:代表T0開始計算的時間,搜索TStart_Point可以定位到這個點。

確定了T2線之后,就可以分析T2線之前的頁面渲染情況,以及影響頁面渲染的因素。

3 分析整體性能

分析T2之前的渲染整體渲染情況,比如JS執行較長的部分,加載時間較長的部分。

4 分析加載性能

主要是Doc、接口和各種資源的加載性能。一般說來加載耗時超過300ms就算非常慢了,主要看資源是否走了離線緩存。

性能提升80%!詳解餓了么H5性能優化秘訣

5 分析排版性能

主要分析排版出現的內容是否合理,排版的時機是否合理,是否存在大量重排、刷新樣式的情況。

性能提升80%!詳解餓了么H5性能優化秘訣

6 分析JS性能

JS性能主要包含三個方面:

  • JS解析編譯耗時
  • JS對應的業務邏輯
  • JS具體函數執行耗時

一般說來v8.compile耗時超過100ms,就是比較耗時的了。

性能提升80%!詳解餓了么H5性能優化秘訣

另外還需要關注兩個v8.run之間的執行間隔,一般說來出現間隔的時候是在等待接口或者資源。這塊可以成為優化的點,例如接口預加載、資源離線等。

性能提升80%!详解饿了么H5性能优化秘诀

然后使用timeline分析具體函數耗時,找出耗時較多的js函數,針對性的進行優化。

性能提升80%!詳解餓了么H5性能優化秘訣

7 觀察圖片解碼對T2時間的影響

一般說來影響T2計算的有兩個因素:

  1. 圖片解碼與繪制。
  2. 首屏內容發生變化。(滑動、圖片懶加載、動態節點)

圖片特別是小圖標會某些頁面上會顯著的影響T2時間,比如在餓了么的選擇紅包頁,經過分析,是紅包列表上面的小圖標大大的延長了T2時間,改成iconfont實現后。優化T2耗時1400多ms,性能提升45%以上。

所以我們可以把這部分小圖片用IconFont或者css代替(svg矢量圖無法計算圖片寬高,故不納入計算)。如果實在有些圖片需要忽略T2計算,也可以使用uc-perf-stat-ignore(新版本內核支持3.22)標記。

性能提升80%!詳解餓了么H5性能優化秘訣

比較UC的T2Paint_Event和W3C的loadEventStart兩個事件的時間差,來觀察圖片解碼對T2計算的影響。

性能提升80%!詳解餓了么H5性能優化秘訣

搜索DecodeImage可以觀察圖片的解碼情況

性能提升80%!詳解餓了么H5性能優化秘訣

 

 

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2022-06-27 09:48:15

H5移動互聯網頁面性能

2015-09-17 10:07:33

2018-08-29 13:57:40

前端性能測試Html5

2015-12-16 12:40:32

H5緩存機制移動

2009-02-23 15:55:29

ASP.NET.NET性能提升

2017-07-20 07:23:29

H5動畫

2010-03-02 09:53:14

MySQL性能優化

2024-03-07 11:03:21

ElasticseaES索引

2021-08-02 10:50:57

性能微服務數據

2009-09-22 17:25:41

優化Hibernate

2011-06-20 14:27:57

Qt Embedded

2024-01-26 07:37:51

Stream工具場景

2024-09-19 08:09:37

MySQL索引數據庫

2024-09-04 14:28:20

Python代碼

2023-07-10 16:18:18

性能優化開發

2010-06-04 11:00:27

hadoop性能優化

2023-11-15 16:35:31

SQL數據庫

2023-08-03 08:06:50

2018-10-24 10:45:15

云盤云服務存儲

2011-09-16 10:19:41

點贊
收藏

51CTO技術棧公眾號

六九午夜精品视频| 亚洲av无码一区二区乱子伦 | 蜜桃av一区| 在线日韩欧美视频| 最好看的中文字幕| 中文在线免费二区三区| 最新久久zyz资源站| 国产欧美在线一区二区| 亚洲精品毛片一区二区三区| 午夜日韩激情| 曰本色欧美视频在线| 一卡二卡三卡四卡五卡| 日韩三级影视| 亚洲精品乱码久久久久久日本蜜臀| 久久99精品久久久久久久青青日本 | 香蕉视频xxxx| 美女写真久久影院| 亚洲中国最大av网站| 午夜精品一区二区在线观看的| 午夜久久久久久久久久| 日韩黄色在线观看| 97精品视频在线观看| 成人一级黄色大片| 国产成人黄色| 亚洲成avwww人| 色91精品久久久久久久久| 性欧美又大又长又硬| 一区二区三区中文字幕在线观看| 涩涩涩999| 毛片免费在线观看| 99精品久久久久久| 国产精品区一区二区三在线播放| ,一级淫片a看免费| 日韩专区中文字幕一区二区| 97精品免费视频| 午夜偷拍福利视频| 午夜日韩激情| 欧美成人性色生活仑片| 亚洲国产123| 欧美日韩精品在线一区| 亚洲视频一区二区| 久久国产精品影院| 欧美变态网站| 精品国免费一区二区三区| 天天色天天综合网| 亚洲精品69| 欧美老女人第四色| 日本免费色视频| 电影一区二区| 欧美色倩网站大全免费| 久久婷婷国产91天堂综合精品| 日韩伦理福利| 色又黄又爽网站www久久| 久久久久狠狠高潮亚洲精品| 樱花草涩涩www在线播放| 婷婷综合另类小说色区| 欧美精品久久久久久久久久久| 欧美aaaaaaa| 午夜激情一区二区三区| 国产九九九九九| 福利影院在线看| 欧美日韩亚洲网| 激情五月开心婷婷| 亚洲日本在线观看视频| 欧美网站一区二区| 日本不卡一区二区在线观看| 欧美性生活一级| 欧美日韩成人在线一区| 992kp免费看片| 91综合精品国产丝袜长腿久久| 精品国精品自拍自在线| 亚洲精品乱码久久| 天堂99x99es久久精品免费| 亚洲美腿欧美激情另类| 五月天精品视频| 成人91在线| 久久影院模特热| 久久久久久av无码免费网站| 99热精品在线| 国产精品精品久久久| 国产精品女人久久久| 国产成人午夜视频| 精品一区在线播放| 风间由美一区| 亚洲免费av观看| 一二三四视频社区在线| 男人皇宫亚洲男人2020| 欧美精品九九99久久| 国产又粗又猛又爽又黄| 校花撩起jk露出白色内裤国产精品| 亚洲欧美国产日韩中文字幕| 51妺嘿嘿午夜福利| 艳女tv在线观看国产一区| 久久久人成影片一区二区三区观看| www.com国产| 精品一区二区精品| 久久av二区| 黄网站在线播放| 欧美色videos| 天堂在线精品视频| 一本色道久久综合亚洲精品酒店| 日韩在线免费观看视频| 日韩免费av片| 久久精品国产99国产| 成人在线免费网站| 成人三级黄色免费网站| 一区二区三区免费网站| 日韩av播放器| aiss精品大尺度系列| 国产一区二区三区视频免费| 久久午夜无码鲁丝片| 日本aⅴ免费视频一区二区三区 | 香蕉精品久久| 欧美高清性猛交| 日本一区二区三区久久| 成人国产免费视频| 五月天男人天堂| 成人欧美一区二区三区的电影| 7777精品伊人久久久大香线蕉的 | 欧美69wwwcom| 国产精品视频资源| 香蕉久久国产av一区二区| 亚洲视频精选在线| 国产性生交xxxxx免费| 999在线精品| 精品国产欧美成人夜夜嗨| 久久久久亚洲av成人毛片韩| 国产成人aaa| 亚洲AV无码成人精品一区| 欧美日韩在线精品一区二区三区激情综合 | 色哟哟在线观看| 亚洲精品国产视频| 中文字幕视频三区| 成人高清av| 国产成人精品在线视频| 无码国产精品一区二区免费16| 中文字幕免费不卡在线| 中文久久久久久| 亚洲制服一区| 欧美一区三区三区高中清蜜桃| 黄色片一区二区三区| 亚洲精品日韩综合观看成人91| 少妇一级淫免费播放| 欧美日韩第一| 国产精品高潮在线| 国产粉嫩一区二区三区在线观看| 欧美色xxxx| mm131美女视频| 丝袜亚洲精品中文字幕一区| 欧美二区三区在线| 自拍偷拍亚洲视频| 亚洲欧美精品中文字幕在线| 国产精品免费精品一区| 97久久精品人人做人人爽| 高清欧美精品xxxxx| 影音先锋欧美激情| 久久久久久成人| 色香蕉在线视频| 午夜精品成人在线视频| 加勒比精品视频| 国产精品一页| 日韩精品久久久免费观看| 最新欧美电影| 色妞一区二区三区| 99久久精品国产色欲| 一区2区3区在线看| 丰满岳乱妇一区二区| 9国产精品视频| 欧美日韩一区在线观看视频| 日本精品在线中文字幕| 日韩视频―中文字幕| 国产免费叼嘿网站免费| 一区二区三区视频在线观看| 尤物网站在线观看| 亚洲资源av| 亚洲人一区二区| 亚洲最大的免费视频网站| 欧美成人精品不卡视频在线观看| 人妻无码中文字幕| 色综合一个色综合亚洲| 又嫩又硬又黄又爽的视频| 国内成人自拍视频| 日韩网站在线免费观看| 精品免费av| 91精品久久久久久蜜桃| 在线播放高清视频www| 中文字幕精品国产| 成人av免费播放| 欧美日韩中文字幕| 国产一区第一页| 成人深夜视频在线观看| 欧美视频第三页| 91精品秘密在线观看| 精品国产乱码久久久久久久软件 | 色88888久久久久久影院按摩 | 羞羞答答成人影院www| 国产精品国产三级国产专区53| 亚洲三级欧美| 久久精品视频在线| 无码h黄肉3d动漫在线观看| 欧美日韩视频不卡| 国产精品第二十页| 国产精品久久久久精k8| www.555国产精品免费| 日韩av一区二| 久久综合久久网| 久久综合电影| 久久久久久九九| 香蕉大人久久国产成人av| 清纯唯美日韩制服另类| 午夜伦理在线视频| 中文字幕日韩精品在线| 天堂中文在线资源| 日韩一区二区三区在线| 波多野结衣一二区| 亚洲v日本v欧美v久久精品| 欧美性生给视频| 国产亚洲人成网站| 超碰男人的天堂| 国产传媒一区在线| 午夜两性免费视频| 午夜一级久久| 人体内射精一区二区三区| 天天综合国产| 涩涩日韩在线| 精品无人区麻豆乱码久久久| 极品校花啪啪激情久久| 视频一区在线| 久久99国产乱子伦精品免费| 色先锋久久影院av| 久久久久久国产免费| 欧美一区二区三区| 亚洲视频免费一区| 日韩二区三区| 亚洲精品一区在线观看| 精品人妻一区二区三区蜜桃| 欧美色中文字幕| 精品人妻一区二区色欲产成人| 亚洲国产色一区| 亚洲成人生活片| 亚洲色图欧美在线| 久久一级免费视频| 国产精品网站在线观看| 九九九视频在线观看| 国产亚洲va综合人人澡精品| 中文字幕丰满乱子伦无码专区| 99国产精品久久久| 无码精品一区二区三区在线播放| 国产不卡免费视频| 韩国三级在线播放| 国产成人免费av在线| 老女人性生活视频| 国产91丝袜在线观看| 国产精品一级无码| 成人少妇影院yyyy| 波多野结衣加勒比| 99国产一区二区三精品乱码| 欧美精品欧美极品欧美激情| 91日韩在线专区| 亚洲久久久久久久| 国产欧美一区二区精品久导航 | 久久久亚洲精品一区二区三区| 免费观看一级一片| 91在线视频播放地址| 丰满少妇在线观看资源站| 久久女同性恋中文字幕| 国产毛片久久久久久久| 欧美国产成人在线| 国产又色又爽又高潮免费| 亚洲日本电影在线| 午夜69成人做爰视频| 午夜私人影院久久久久| 欧美一级特黄视频| 欧美色倩网站大全免费| 国产片在线播放| 亚洲精品97久久| 极品美乳网红视频免费在线观看 | 污视频免费在线观看| 欧美激情精品久久久久久黑人| 97人澡人人添人人爽欧美| 68精品久久久久久欧美| 精品免费av在线 | 99国产精品久久久久久久成人| 日韩午夜在线观看视频| 四虎精品一区二区三区| 亚洲欧美激情视频| 草莓福利社区在线| 97在线精品视频| 欧美aaaaaa| 精品国产一区二区三区四区vr| 精品国产1区| av动漫在线播放| 久久久夜精品| 无码人妻少妇色欲av一区二区| www国产精品av| 99成人在线观看| 精品国产乱码久久久久久天美| 中文字幕日韩经典| 亚洲第一区在线观看| 幼a在线观看| 欧美在线视频观看| va天堂va亚洲va影视| 欧美激情第六页| 欧美国产三级| 久久久国产欧美| 成人av在线电影| 精品在线观看一区| 福利视频第一区| 精品毛片在线观看| 尤物yw午夜国产精品视频明星| caoporn视频在线| 国产精品久久久久久久电影 | 精品精品国产高清一毛片一天堂| 成人高潮成人免费观看| 97人人做人人爱| 日本一区二区乱| 五月婷婷综合色| 久久国产精品亚洲77777| 久久久国产精品久久久| 国产精品污网站| 亚洲国产精品无码久久久| 亚洲成人动漫在线播放| 色综合久久影院| 国产成人精品在线观看| 欧美做受69| 毛片在线播放视频| 国产精品1024| 午夜精品一区二区三级视频| 日本高清无吗v一区| 污污视频在线免费看| 九九热这里只有精品6| 日韩毛片免费视频一级特黄| 日韩国产欧美精品| 国产精品综合色区在线观看| xfplay5566色资源网站| 亚洲综合无码一区二区| 国产精品天天操| 久久精品91久久香蕉加勒比| www.精品国产| 日韩精品资源| 日韩成人免费看| 国产精品密蕾丝袜| 色妹子一区二区| 国产乱视频在线观看| 国产91在线视频| 国产精品一区高清| 免费男同深夜夜行网站| 久久久一区二区三区捆绑**| 探花视频在线观看| 亚洲久久久久久久久久久| 亚洲欧美电影| 天堂社区 天堂综合网 天堂资源最新版 | 国产日韩一区二区在线| k8久久久一区二区三区 | 成人黄色a级片| 欧美在线你懂得| yjizz视频网站在线播放| 国产精品视频播放| 欧美国产美女| 天天干天天曰天天操| 亚洲成av人片在线观看无码| 日本黄色三级视频| 538国产精品一区二区免费视频| 日韩精品丝袜美腿| 久久久久久久少妇| 国产欧美日韩另类视频免费观看| 中文字幕网址在线| 久久人人爽人人爽爽久久| 日韩在线观看一区二区三区| 日本三级中文字幕在线观看| 成人一级片在线观看| 男女视频免费看| 亚洲欧美日韩网| 日韩成人一区| 国产女主播自拍| 91视频在线看| 中文在线资源天堂| 久久综合免费视频| 黄色免费大全亚洲| 中文字幕第36页| 亚洲欧洲综合另类| 日本激情一区二区| 国产精品电影在线观看| 亚洲成人av| 日本一区二区三区网站| 欧美色涩在线第一页| 国产精品蜜臀| 日韩影片在线播放| 国产91在线|亚洲| 97人妻精品视频一区| 色综合91久久精品中文字幕| 婷婷成人综合| 伊人色在线视频| 狠狠久久亚洲欧美专区| √天堂资源地址在线官网| 高清国产在线一区| 日本色综合中文字幕| 国产精品6666| www日韩中文字幕在线看| 老牛精品亚洲成av人片|