微信小程序開發(fā)人員如何優(yōu)化小程序性能呢?可以使用微信推出的“小程序測速”功能。這個功能可以簡單方便地統(tǒng)計小程序內(nèi)某一事件的實時耗時情況,并可根據(jù)地域、運營商、操作系統(tǒng)、網(wǎng)絡(luò)類型、機(jī)型等關(guān)鍵維度進(jìn)行實時交叉分析。那下面跟小編一起來了解下小程序測速功能的使用方法。
首先開發(fā)者需要在基礎(chǔ)庫2.9.2版本以上,可以通過“測速上報”接口上報某一指標(biāo)的耗時情況,然后可以在小程序管理后臺的“開發(fā)-運維中心-小程序測速”查看各指標(biāo)耗時趨勢,并支持分鐘級數(shù)據(jù)實時查看。

創(chuàng)建監(jiān)控ID
1、在小程序管理后臺的“開發(fā)-運維中心-小程序測速”中新創(chuàng)建監(jiān)控ID,并填寫監(jiān)控指標(biāo)的名稱和解釋,也就是需要先定義監(jiān)控指標(biāo)。

監(jiān)控指標(biāo)分為兩類:
網(wǎng)絡(luò)請求類:此類耗時主要受網(wǎng)絡(luò)環(huán)境影響,包含操作系統(tǒng)、運營商、網(wǎng)絡(luò)環(huán)境、地區(qū)等統(tǒng)計維度。如:網(wǎng)絡(luò)API耗時、云調(diào)用耗時、網(wǎng)絡(luò)數(shù)據(jù)讀寫耗時等。注意此類指標(biāo)最多可創(chuàng)建20個。
加載/渲染類:此類耗時主要受設(shè)備性能影響,包含操作系統(tǒng)、機(jī)型類別等統(tǒng)計維護(hù)??梢杂脕頊y量頁面切換耗時、組建渲染耗時等。注意此類指標(biāo)最多可創(chuàng)建20個。
2、新建后,可以看到上報需要使用的監(jiān)控ID。

小程序測速上報方法
監(jiān)控ID創(chuàng)建后,還需要在小程序代碼中調(diào)用wx.reportPerformance接口上報耗時數(shù)字,才能實現(xiàn)耗時監(jiān)控。有兩種方法:
方法1:使用canIUse進(jìn)行判斷
// * 需要使用 canIUse 判斷接口是否可用
if (wx.canIUse(‘reportPerformance’)) {
wx.reportPerformance(id, val)
}
方法2:使用compareVersion 進(jìn)行判斷
// * 需要先使用 compareVersion 判斷接口是否可用
const sdkVersion = wx.getSystemInfoSync().SDKVersion
if (compareVersion(sdkVersion, ‘2.9.2’) >= 0) {
wx.reportPerformance(id, val)
}
id 和 val 均為 uint32 類型,其中 id 為小程序管理后臺定義的監(jiān)控 ID,val 為本次要上報的耗時數(shù)值(由開發(fā)者自行計算)。接口調(diào)用需要基礎(chǔ)庫的版本號高于 2.9.2,否則在一些低版本基礎(chǔ)庫可能報錯。
小程序測速數(shù)據(jù)觀察
完成代碼上報后,可在小程序管理后臺”開發(fā) -運維中心 -小程序測速” 查看各指標(biāo)耗時趨勢。目前線上數(shù)據(jù)約有15分鐘數(shù)據(jù)時延,上報數(shù)據(jù)保留 7 天,可按照 1 分鐘 – 1 小時等不同的時間粒度進(jìn)行聚合。

每個指標(biāo)可以觀察到平均值和上報次數(shù)兩條曲線

交叉對比功能(不能超過10條)

查看不同地域網(wǎng)絡(luò)請求類指標(biāo)
微信小程序測速上報功能可以測量網(wǎng)絡(luò)類指標(biāo)(如網(wǎng)絡(luò)調(diào)用/云調(diào)用耗時、網(wǎng)絡(luò)數(shù)據(jù)讀寫速度等)和非網(wǎng)絡(luò)類指標(biāo)(頁面切換加載速度、組件渲染速度等),開發(fā)者可以查看這些指標(biāo)在不同維度下的數(shù)量分布和性能差異。適用于一些計算視頻首屏?xí)r延、幀率等場景。

