概述
針對(duì)上述可優(yōu)化點(diǎn)的檢測(cè),小程序質(zhì)量團(tuán)隊(duì)開發(fā)性能分析工具——商家自審核,協(xié)助廣大開發(fā)者對(duì)小程序進(jìn)行性能缺陷的識(shí)別和分析。
前提條件
- 小程序開發(fā)者工具(IDE)v1.12 及以上,請(qǐng)點(diǎn)此下載;
- 支付寶 10.1.85 及以上版本;
- 該工具僅支持 Android 設(shè)備,暫不支持 iOS 設(shè)備。
使用指南
上傳小程序
在小程序開發(fā)者工具(IDE)中點(diǎn)擊右上角 上傳 按鈕,等待上傳任務(wù)完成。
進(jìn)入商家自審核工具
- 小程序上傳成功后,彈出質(zhì)量自審核入口。
- 點(diǎn)擊上圖中的 這里 進(jìn)入商家自審核任務(wù)頁(yè)面,進(jìn)入商家自審核,此時(shí)頁(yè)面處于生成最新上傳小程序二維碼狀態(tài),用戶需要等待一段時(shí)間。
- 二維碼生成完成,用戶可以使用 Android 設(shè)備,啟動(dòng)支付寶掃碼開始測(cè)試。
掃碼開始測(cè)試
- 進(jìn)入商家自檢測(cè)任務(wù)頁(yè)面選擇待測(cè)試小程序生成二維碼。
- 使用 Android 設(shè)備掃描二維碼。
- 二維碼狀態(tài)變?yōu)橐堰B接狀態(tài)。
- 在 Android 設(shè)備上操作被測(cè)試小程序,IDE 上質(zhì)量自審核工具分?jǐn)?shù)會(huì)從最初的基礎(chǔ)分開始隨著用戶操作不斷上漲。所以我們鼓勵(lì)用戶進(jìn)入盡可能多的頁(yè)面,操作盡可能多的小程序能力。
- 查看性能數(shù)據(jù)。
- 包大小:標(biāo)準(zhǔn)為包大小不超過 1M,包越小,得分越高;
- jsapi 調(diào)用時(shí)間過長(zhǎng):要求 jsapi 調(diào)用耗時(shí)不超過 200ms, 網(wǎng)絡(luò)請(qǐng)求耗時(shí)不超過 600ms;
- jsapi 調(diào)用次數(shù)過多:要求同一個(gè) jsapi 在一個(gè)頁(yè)面調(diào)用次數(shù)不超過 3 次;
- 商家自審核工具支持 Timeline 工具,用于頁(yè)面性能分析;
- 首屏?xí)r間:支付寶小程序要求冷啟動(dòng)條件下,首屏?xí)r間小于 2200ms;
支持Timeline
商家自審核工具中的 Timeline 可用于對(duì)頁(yè)面性能進(jìn)行分析,將顯示各接口 jsapi 的使用詳情。
如下圖所示,小程序頁(yè)面運(yùn)行過程中的 jsapi 調(diào)用和 jsapi 調(diào)用異常,都會(huì)顯示出來,數(shù)據(jù)可以導(dǎo)出到 excel 中。
案例 Case
對(duì)某小程序單頁(yè)面進(jìn)行調(diào)試分析,結(jié)果如下圖呈現(xiàn) :
可優(yōu)化項(xiàng)如下,對(duì)小程序頁(yè)面進(jìn)行調(diào)優(yōu)時(shí),可以優(yōu)先從以下方面著手:
- getSystemInfo API 接口為 sync 同步調(diào)用,最佳實(shí)踐建議改為異步調(diào)用;
- getTinyLocalStorage API 接口為 sync 同步調(diào)用,最佳實(shí)踐建議改為異步調(diào)用;
- 單頁(yè)面 getTinyLocalStorage API 接口調(diào)用時(shí)間 270ms(≥200ms);單頁(yè)面 mtop API 接口請(qǐng)求調(diào)用耗時(shí) 1345ms (≥600ms);
- 單頁(yè)面 getRunScene API 接口調(diào)用次數(shù) >3 次,且存在多次調(diào)用,需要優(yōu)化。
更多建議: