啟動時性能優(yōu)化
代碼包體積優(yōu)化钱慢,啟動性能優(yōu)化最直接的手段是降低代碼包大小唱捣,代碼包直接影響了下載耗時抠蚣,影響用戶啟動小程序的體驗。優(yōu)化方式有二:1.圖片資源網(wǎng)絡(luò)化面殖,將使用的大圖改用網(wǎng)絡(luò)加載方式竖哩。2. 啟用分包,不必等待包大小超過2M再分包畜普,將業(yè)務(wù)模塊化期丰,用戶不常用的功能模塊放在分包。
運行時性能優(yōu)化
- 合理使用setData
邏輯層和視圖層處于不同的線程吃挑,不能直接進行數(shù)據(jù)共享钝荡,需要進行數(shù)據(jù)的序列化、跨線程數(shù)據(jù)傳輸舶衬、數(shù)據(jù)的反序列化埠通,因此數(shù)據(jù)傳輸過程是異步的、非實時的逛犹。
通過setData使得邏輯層虛擬DOM樹的遍歷和更新端辱,將邏輯層的data改變,然后從邏輯層傳輸?shù)揭晥D層虽画,視圖層虛擬DOM樹的更新舞蔽、真實DOM元素的更新并觸發(fā)頁面渲染更新。
a. page中的data對象應只包含渲染相關(guān)的數(shù)據(jù)码撰。如將不參與渲染的字段標記為純數(shù)據(jù)字段即_b渗柿,或者放在data外。
b. 控制setData的頻率脖岛。如僅在需要更新頁面時調(diào)用setData朵栖,連續(xù)的setData調(diào)用盡可能的合并。
c. setData應只傳發(fā)生變化的數(shù)據(jù)柴梆。如以數(shù)組路徑的形式改變數(shù)組中的某一項或?qū)ο蟮膶傩浴?/li> - scroll 事件的監(jiān)聽要慎重陨溅,因為監(jiān)聽之后事件會以很高的頻率從視圖層發(fā)送到邏輯層,存在一定的通信開銷绍在。
- 控制圖片資源的大小门扇,避免濫用image組件的withFix/heightFix模式