性能優化最佳實踐_第1頁
性能優化最佳實踐_第2頁
性能優化最佳實踐_第3頁
性能優化最佳實踐_第4頁
性能優化最佳實踐_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Vue性能優化最佳實踐阿里巴巴移動事業群高級前端工程 劉欣Vue.js+Scra了 了ProfileChromeDevTools的Profiles發現內存泄漏問題Snapshot1:Snapshot1: 首屏占用內存132MBSnapshot230次后占用內存811MBHeapSnapshotsSummaryProfileHeapSnapshotsSummaryProfileHeapSnapshotsComparison-對比兩個堆快照的內存情況Vue小課堂1數據驅動視 數據是雙向綁定指令(Directives特殊的帶有前綴v的特性。指令的職責就是當其表達式的值改變時把某些特殊的行為應用到DOM上。Observer、Directive、Watcher數 減少ObserverDirective、Watcher組件內不嵌套組件,一個卡片只有一個組件(減少Watcher)(減少Directive)卡片的事件托管到列表容器上(減少Directive)… 10??40?????30300???1200?? 10??10?????30300???300??優化后占用內存~30M優化后占用內存~30M,下降了625 Keep越往下加載,DOM越多,想不卡都難!盡量減少DOM移除視窗外不可見的DOM列表最多只有30張卡片,DOM優化后占用內存~20M優化后占用內存~20M75 Vue小課堂2把一個普通對象?? Vue實例作?的data選?,Vue.js將遍歷它的屬性,用Object.defineProperty將它???用戶看不到getter/setters,但是在內部它? Vue.js追 ,在屬性被? Object.freeze(Vuev1.0.18releaselogv-partia減少Vue編譯組件產生的去掉無用的getter/setterv-partiaObject.freeze(優化后占用內存~10M優化后占用內存~10M,下降了875K.OTimelinTimeline控制板介紹60FP顯示器刷新頻率:60Hz60次/秒)60FPFPS-framespersecon1s/60=16.6m一幀盡量在16.6ms內完成藍色:網絡和HTML黃色:JavaScrip 運紫色:計算樣式和布局(RecalculateStyleLayoutUpdateLayerTree)綠色:繪制和合成(Paint,CompositeLayers多于16ms完成的幀一般包括多個ImagDecode事件(代表一 完成 加載完成 觸發Paint事(繪制到對應顯示區域)60FP大量的Paint 實現 懶加載的Frames情絕大部分時間達到60FPS,實際操作流暢細小卻同樣重borderradiusboxshadow盡量少地觸發Layout和Pain只使用transform/opacity來實現動畫效果合并組內存占用減少625移除視圖外DO內存占用進一步減少了75%

模擬原生環內存占用最后減少了87%懶加Frames情況,實際操作流 炸天

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論