一等浊、啟動性能優(yōu)化:
1腮郊、啟用分包加載,降低代碼包下載耗時筹燕;
分包預加載轧飞,跳轉(zhuǎn)到分包頁面時需要下載分包才能進入頁面衅鹿,造成頁面切換的延遲。分包預加載可以在跳轉(zhuǎn)前預加載分包过咬,解決頁面切換延遲大渤;
2、代碼重構(gòu)和優(yōu)化:
通過代碼重構(gòu)刪除冗余代碼(組件復用援奢,提取公共函數(shù))兼犯;利用webpack的tree shaking特性;可以通過微信開發(fā)者工具的代碼依賴分析集漾,優(yōu)化代碼包的大小
3切黔、控制代碼包內(nèi)圖片等資源
4、按需注入(app.js中全局配置)
{
"lazyCodeLoading": "requiredComponents"
}
通常情況下具篇,在小程序啟動時纬霞,啟動頁面所在分包和主包(獨立分包除外)的所有代碼,造成很多沒有使用的代碼注入到小程序運行環(huán)境中驱显,影響注入耗時和內(nèi)存占用诗芜。
按需注入配置后,小程序僅注入當前頁面需要的自定義組件和頁面代碼埃疫,以降低小程序的啟動時間和運行時內(nèi)存伏恐。
二、頁面渲染優(yōu)化
1栓霜、首屏數(shù)據(jù)提前請求:小程序提供了【數(shù)據(jù)預拉取】功能翠桦,能夠在冷啟動時通過微信后臺向服務(wù)器拉取業(yè)務(wù)數(shù)據(jù),減少了首屏渲染等待時間胳蛮;
2销凑、骨架屏 請求頁面數(shù)據(jù)時展示骨架屏頁面,提升用戶體驗
三仅炊、運行時性能優(yōu)化
1斗幼、setData用于小程序雙線程環(huán)境通信,是一個耗費性能的操作抚垄;因此要避免頻繁setData和一次性setData大量數(shù)據(jù)蜕窿;
this.setData({
[`proTabsDatas.${eleIndex}`]: floor, // 直接修改數(shù)組單個元素
'fourth.coverShow': false //修改對象單個屬性
})
參考:https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips.html