婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 以淘寶前端為例剖析HTML5與移動端頁面的性能優化

以淘寶前端為例剖析HTML5與移動端頁面的性能優化

熱門標簽:地圖標注難民 canvas世界地圖標注點線 合肥機器人外呼系統 蘭州銷售外呼系統加盟 沈陽電話電銷機器人官網 寧夏手機自動外呼系統好用嗎 電銷機器人用戶反饋 地圖標注新地點 開地圖標注公司掙錢嘛

首先,我們這里優化對象為移動站點 。
移動開發具備了pc開發所有的特點,并且可以使用一些pc端無法使用的一些手段(主要還是為了兼容ie8及以下瀏覽器啦),pc端的優化手段都可以在移動端使用。但是移動有些地方就不如pc端了(網絡慢,不穩定),尤其2G網絡,每秒按10kb來算,下載一個資源要耗很多時間。

HTML5頁面優化點主要有以下幾點:

1.redirect:重定向耗時
2.APP cache:讀取緩存耗時
3.DNS:域名解析耗時
4.TCP:網絡連接耗時
5.request和response:發起請求和接受響應時間
6.processing:接受到響應頁面渲染時間
7.onload:渲染完畢,加載其他異步靜態資源時間
優化思路可以針對以上每個點各個擊破。
根據經驗,優化重點主要放在靜態資源加載和頁面渲染,網絡連接耗時和服務器響應時間不考慮在內。

隨著Html5的正式定稿,移動前端步入APP世界的步伐也隨之加速。目前主流的兩大手機系統廠商(google、蘋果)都是Html5的參與者,所以這兩大系統在對html5的支持上基本是沒什么問題的。然而對于很多開發者來說,也許僅僅是因為使用前的一番可行性分析便放棄這種方案。因為很多資料都敘述著Html5相比原生App的各種不足。其中最尷尬的一條莫過于“性能”問題。

前端性能問題與優勢

因為這個問題,剛開始接觸的時候我也有很強的抵觸情緒。但后來慢慢的發現,其實很多時候性能本就不是問題。適當的調整Html和Css,我們的網頁同樣可以無限接近原生程序。而且個人認為,大多數時候程序是否流暢并非取決于某種編程語言,而是取決于寫程序的人。相比通過各種代碼填充來完成目標任務,我更喜歡把技術當做藝術,寫代碼也應該有所追求。(扯淡扯遠了。)

其實,Html5相比原生App的開發有很多誘人的方面。

其一:可快速迭代。 最簡單最直接的一個:IOS程序每次上傳都需要通過漫長的審核時間,如果趕時間的話這是個問題,而且耐心等待之后未必就能得到一個我們想要的結果,審核不通也不是不可能。Html5開發完成之后也不用再次上傳審核。(若與原生程序有交互變更,此項無效)
其二:跨平臺。Html跨平臺的特性早已不是一天兩天的事了。IOS開發完成的同時,Android也基本完成。開發效率和成本上相比原生應用確實有較明顯的優勢。
其三:轉發率高。現在打開微信朋友圈就能看到各種分享。如:文章分享,產品分享,XX店鋪等。通過連接轉發可以實現快速分享,提高流量。
談完優勢,再說說自身經歷。本是一名老老實實的C#程序員,沒事就學習各種程序優化(sql為主)的我在幾個月前突然轉向移動網頁開發。在一個不算小的團隊里前端工程師是一枚傳統前端工程師。除能完成簡單的手機布局外其他一竅不通,于是乎關于JavaScript、前端性能優化等各種重擔都落到了我這里。由于前端所完成的僅僅是以html的形式展現出效果圖的模樣,很少涉及到性能問題。于是漫長的學習之路由此開始了。

究竟什么樣的頁面是需要優化的頁面?

1、頁面上下滑動時感覺卡頓不流暢或是基本不動;
2、動畫效果卡頓,看上去感覺一幀一幀的跳動;
簡單點說,就是感覺卡。也許iphone6不卡但是iphone4上會卡,也許iphone上不卡三星上感覺卡、魅族、小米、華為、聯想?國內屌絲機各有個的長相各有各的特色,比如魅族的MX,其他手機都很正常的時候它就卡。Html兼容一直都不是一件容易的事。

上述問題該如何破?

解決問題的關鍵在于找到問題的所在。砍柴還得有裝備,工具很重要。以前用chrome,是因為感覺這貨比較好使(直到放棄多年來一直鐘愛的IE)。幾個月前才發現這是一個調試工具也很好使的瀏覽器(簡直就是神器)。其實關于html性能問題,很多博客上都有解釋重繪這個事。下面主要談談如何用chrome鑒別重繪元素。

打開chrome,開啟開發者工具(F12)。打開模擬器,并選擇需要模擬的設備,在Console中選擇Rendering 選中第一條(Show paint rectangles)。若打開開發者工具后沒看見下方Console這塊可以按下Esc。

完成上述操作后,請將視線移動到左側網頁上的綠色矩形框上。

ps:一直都很喜歡淘寶的廣告,創意從未間斷過。

這個綠色框就是瀏覽器重繪的部分。這個框越大,說明重繪的區域也就越大。重繪并沒什么問題,這很正常,不正常的是大面積重繪,比如上圖中的時間跳動,如果僅僅是時間那個區域重繪并沒有什么問題,要是整個頁面都一直閃著個綠框框那就完蛋了。為何大面積重繪會出現性能問題,這個還得從瀏覽器渲染上談起。那是一個很長的故事,有興趣的朋友可以找些資料看看。簡單的舉例就是,瀏覽器把html文檔解析成網頁展現到我們面前,其中間是一個“漫長”的過程。再載入文檔之后需要對html進行分割、讀取并計算其樣式大小、然后進行圖層繪制、合并圖層等一系列操作。整個過程其實使用最多的部件是CPU和GPU。

重繪的面積大小和回流(reflows)有關,關于回流其實可以這樣理解,當改變一個元素后對其它節點元素產生影響。就如同可石子投入水中引起的波紋一樣,波紋所到之處基本都會有所影響。而在Html中子節點的變化會引起祖先的回流,同時也會影響到部分兄弟節點,大部分的回流將導致頁面的重新渲染。那么如何降低回流,減小重繪面積呢?淘寶時間不也只更新了一小塊么!這里提供兩種方法:

1、使用 position 屬性的 fixed 值或 absolute 值。
2、創建獨立的Layer(層)(為避免和div(層)產生混淆文中盡量同一使用Layer)。
繼續看淘寶:

第一種方法已經很明顯了就不再贅述。說說第二種方法吧。首先說說在Chrome中如何查看獨立的Layer呢。如上圖,選擇Show composited layer borders后在頁面上獨立的Layer上回顯示一個橘黃色邊框。那么又要如何才能建立獨立的Layer呢?

在Chrome中創建獨立的Layer僅需要符合下述條件之一:

1.有3D元素的屬性;
2.video標簽并使用加速視頻解碼;
3.canvas元素并啟用3D;
4.插件,比如flash;
5.CSS動畫;
6.CSS濾鏡;
7.有一個后代元素是獨立的layer;
8.元素的相鄰元素是獨立layer。
看上去挺多挺復雜的,其實最簡單、最容易理解、也最容易濫用的是第一條。實現第一條僅需要在元素的樣式里加上。transform:translateZ(0);-webkit-transform:translateZ(0); 就可以了。我們將淘寶往下滑動一點,找一個元素試試看。

還是看淘寶:

當加上css樣式后對應的元素上出現了橘黃色邊框,事實證明這招是有效的。而在Chrome中這樣做可以啟用GPU硬件加速。初次看到加速兩個字讓人覺得無比興奮,仿佛找到了克敵制勝的無敵神招。可是,首先這是在chrome下,其次大量使用真的好嗎?

其實就算是在chrome下GPU也未必能排上用場,首先需要確定你的GPU驅動程序不在chromium的黑名單中。因為某些GPU驅動程序存在錯誤,可能會影響瀏覽器穩定,所以會被加入到黑名單里。在chrome地址欄里輸入 about:gpu 可以查看相關的GPU信息。現在再說說GPU加速的事情吧,簡單點解釋就是通過GPU渲染的Layer,GPU會將圖層信息緩存起來,到下次改變的時候就只需要重新渲染修改過的部分。這樣固然是快,但是會加大系統RAM和GPU的內存開銷。在配置參差不齊的移動設備上,過多的層不僅不能加速,反而會嚴重影響性能。很多時候我們在感覺到移動網頁較卡的時候不防試試減少頁面上的Layer試試。

通過Chrome我們還可以鑒別一些其他影響性能的方面。比如:

上面兩幅圖,左邊一幅是百度.新聞的移動網頁版,箭頭指向的是這個頁面的loading效果(就是一種一直一直轉動的感覺)。右邊是以前最常用的一種loading。在效果上兩種方式都一樣,一直不停的轉動。而區別在于右邊的loading是一個帶有背景圖片的div,通過css3使其產生轉動效果;而右邊則是一張Gif動態圖片。雖然效果上一樣,但在瀏覽其中我們可以看到右邊的loading會有一個不停閃動的綠色框(頻率相當高)。gif動畫會導致瀏覽器不斷的進行繪制、柵格化、合成,整個過程相當影響性能,所以最好干掉它。

簡而言之言而簡之:

布局

1、減少重繪,減小重繪面積(改良布局,創建獨立的Layer),降低重繪頻率。
2、合理使用GPU加速,避免過度依賴GPU而導致性能下降。
動畫

說完布局,再簡單談談動畫吧。

常用的JavaScript動畫在移動web上很多時候都顯得心有余而力不足(不給力啊)。這個原因很多, JavaScript動畫通常是通過定時改變元素樣式屬性的方式來實現,JavaScript的運行是在一個獨立線程里完成的,作為單線程程序, JavaScript會因為某個耗時動作而影響下一幀動畫的執行。而且,JavaScript的定時也并沒有想象中的那么守時,如在setinterval中設置每毫秒輸出一個數, 當輸出到2000次的時候,當真就只需要2秒鐘嗎?相比之下更加推薦使用CSS3來完成相關動畫效果。首先Css由獨立線程完成,它和JavaScript的運行并不沖突, 其次Css3很多屬性不會觸發重繪(當然JavaScript里也可以是改變的css3的屬性)。 從流暢度上來講的話Css3基本上完勝JavaScript,而且操作較容易。關于Css3相關知識就不再贅述。

然而Css3的動畫也并沒有想象中那般完美。

首先,在動畫控制上不夠靈活,整動畫過程不太好監控。
其次,其兼容性不太好。僅移動端而言,位移動畫通常使用transform,但在某些瀏覽器中需要使用-webkit-transform(如微信里的瀏覽器)。
雖然Css3并非完美解決方案,但實際使用中大多數時候是完全可以解決我們所遇到的問題 (遇到復雜問題再解決吧,事在人為嘛,解決問題也是一種樂趣)。 且目前的移動應用上并不推薦過于復雜的效果設計。

標簽:郴州 萍鄉 烏海 上饒 昌都 克拉瑪依 曲靖 黔南

巨人網絡通訊聲明:本文標題《以淘寶前端為例剖析HTML5與移動端頁面的性能優化》,本文關鍵詞  以,淘寶,前端,為例,剖析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《以淘寶前端為例剖析HTML5與移動端頁面的性能優化》相關的同類信息!
  • 本頁收集關于以淘寶前端為例剖析HTML5與移動端頁面的性能優化的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品一区二区在线播放| 日韩一级大片在线| 亚洲成年人影院| 亚洲精品国产一区二区精华液| 中文字幕乱码日本亚洲一区二区| 91精品国产综合久久香蕉的特点 | 99免费精品视频| 99久久免费精品| 色88888久久久久久影院野外| av一区二区久久| 欧美三级日本三级少妇99| 日韩亚洲欧美一区二区三区| 日韩免费观看2025年上映的电影| 日韩午夜电影av| 国产精品久久久久久久久搜平片| 亚洲日本在线观看| 无码av免费一区二区三区试看| 日本人妖一区二区| 菠萝蜜视频在线观看一区| 色综合久久久久综合体| 欧美一区二区啪啪| 中文字幕一区二区三区精华液| 一区二区在线观看免费视频播放| 日韩高清国产一区在线| 成人一级片在线观看| 欧美日韩一区国产| 专区另类欧美日韩| 国内精品视频666| 日韩网站在线看片你懂的| 亚洲宅男天堂在线观看无病毒| 亚欧色一区w666天堂| 国产aⅴ精品一区二区三区色成熟| 老司机免费视频一区二区| 成人av电影免费观看| 日韩免费电影网站| 亚洲曰韩产成在线| 99久久99久久精品免费观看| 欧美一区二区视频在线观看 | 国产欧美日韩视频在线观看| 天天综合网天天综合色| 成+人+亚洲+综合天堂| 欧美精品一区二区三区蜜桃视频| 亚洲综合成人网| 欧美影院精品一区| 亚洲激情第一区| 91美女在线视频| 亚洲国产美国国产综合一区二区| 国产高清成人在线| 亚洲欧洲日韩av| 一本久道久久综合中文字幕 | 久久av资源站| 欧美麻豆精品久久久久久| 亚洲人精品午夜| 欧洲一区在线观看| 亚洲精品五月天| 欧美影视一区二区三区| 日韩精品一二区| 国产精品久久久久久久久图文区| 日韩美女在线视频| 日本特黄久久久高潮| 亚洲日本成人在线观看| 国产成人av一区| 美女脱光内衣内裤视频久久影院| 亚洲va欧美va人人爽午夜| 午夜在线成人av| 精品在线视频一区| 国产成人精品免费一区二区| 国产精品18久久久久| 国产成人亚洲综合色影视| 精品午夜久久福利影院| 午夜久久福利影院| 亚洲欧美日本韩国| 国产目拍亚洲精品99久久精品 | 波多野结衣欧美| 免费看欧美美女黄的网站| 一区二区三区四区在线播放| 国产精品视频第一区| 国产亚洲自拍一区| 国产日韩高清在线| 精品国产乱码久久久久久久久| 欧美成人欧美edvon| 在线影视一区二区三区| 99视频精品免费视频| av在线播放一区二区三区| 成人精品高清在线| 成人午夜视频在线| 日韩一级片网址| 欧美精品久久久久久久多人混战 | 婷婷久久综合九色综合伊人色| 亚洲综合一区在线| 午夜精品久久久久久久蜜桃app| 亚洲1区2区3区4区| 国产麻豆9l精品三级站| 国产不卡视频一区二区三区| 99久久精品99国产精品| 国产精品自在在线| 99国产精品久| 日韩欧美国产一区二区三区 | 天天影视网天天综合色在线播放| 亚洲bdsm女犯bdsm网站| 国产一区二区三区观看| 色www精品视频在线观看| 欧美不卡一区二区三区| 亚洲欧洲制服丝袜| 久久精品国产99国产精品| 色欧美日韩亚洲| 中文字幕av不卡| 欧美视频在线一区| 亚洲第一成年网| 久久久久青草大香线综合精品| 国产成人综合亚洲网站| 亚洲最色的网站| 欧美系列日韩一区| 亚洲综合色网站| 欧美视频在线观看一区| 亚洲视频一区二区免费在线观看| 国产精品一区二区三区四区| 欧美美女一区二区在线观看| 欧美激情一区二区在线| 懂色av中文一区二区三区| 久久蜜臀中文字幕| 丁香天五香天堂综合| 精品免费视频一区二区| 青青青伊人色综合久久| 91精品国产综合久久香蕉麻豆| 国内偷窥港台综合视频在线播放| www国产亚洲精品久久麻豆| 亚洲一二三专区| 精品毛片乱码1区2区3区| 国产亚洲福利社区一区| 色女孩综合影院| 国产一区二区三区免费播放| 一区二区三区视频在线看| 一本到不卡精品视频在线观看| 久久精品国产免费| 蜜臀久久久99精品久久久久久| 自拍偷拍亚洲综合| 亚洲欧洲制服丝袜| 洋洋成人永久网站入口| 亚洲黄色性网站| 亚洲第一搞黄网站| 视频一区国产视频| 亚洲图片欧美视频| 欧洲精品视频在线观看| 色婷婷av一区二区| 日韩av电影免费观看高清完整版 | 中文字幕在线不卡一区 | 国产精品视频一二三区 | 日韩成人精品在线观看| 国产欧美日韩另类视频免费观看| 色综合亚洲欧洲| 久久精品国产一区二区三区免费看| 久久久777精品电影网影网| 91美女片黄在线观看91美女| 亚洲午夜久久久久久久久电影网 | 捆绑调教一区二区三区| 国产精品久久久久久久久免费樱桃| 制服丝袜亚洲播放| 色欲综合视频天天天| 国产中文字幕一区| 免费三级欧美电影| 一区二区三区电影在线播| 国产亚洲一本大道中文在线| 日韩一级精品视频在线观看| 91久久国产综合久久| 99久久精品免费看国产免费软件| 寂寞少妇一区二区三区| 日本 国产 欧美色综合| 日日夜夜免费精品| 亚洲欧美一区二区三区国产精品| 国产精品丝袜久久久久久app| 日韩精品中文字幕在线一区| 7777精品伊人久久久大香线蕉完整版| 国产成人精品一区二区三区四区 | 日韩免费高清电影| 中文字幕精品一区二区三区精品| 欧美一区二区三区在线电影| 精品视频一区 二区 三区| 色婷婷综合久久久久中文| 99精品欧美一区| 99久久免费视频.com| 成人黄色软件下载| av资源站一区| 成人一道本在线| 成人免费视频网站在线观看| 成人免费毛片嘿嘿连载视频| 韩国v欧美v日本v亚洲v| 国产一区二区伦理片| 盗摄精品av一区二区三区| 国产福利精品导航| 成人高清免费观看| 色综合久久综合网97色综合| 欧洲国内综合视频| 制服丝袜av成人在线看| 久久综合久久综合亚洲| 国产精品久久久久久久久果冻传媒 | 久久精品亚洲精品国产欧美| 久久久久久免费毛片精品| 欧美国产一区视频在线观看| 亚洲欧洲综合另类在线|