商城系統(tǒng) 小程序商城 微商城 分銷裂變商城

如何提高微信小程序的應(yīng)用速度?

關(guān)鍵詞:如何,提高,微信,小,程序,的,應(yīng)用,速度,我,

【問題描述】

摘要

  我前段時間開發(fā)了一個微信小程序,主要是做一些圖文段子類的東西,然后別人反映微信小程序的響應(yīng)速度很慢,那么我想請問一下應(yīng)該如何提高微信小程序的應(yīng)用速度呢?

最后回答時間 · 2020-12-10

如何提高微信小程序的應(yīng)用速度?

  第一、用戶行為預(yù)測

  我們實現(xiàn)了用戶主動點擊頁面,提前加載下一頁面數(shù)據(jù)的方法。而在某些場景下,用戶的行為可以預(yù)測,我們可以在用戶還沒點擊的時候就預(yù)加載下個頁面的數(shù)據(jù)。讓下個頁面秒開,進一步提升體驗的流暢性。繼續(xù)以騰訊視頻小程序為例,主界面分為3個頁卡,通過簡單的數(shù)據(jù)分析,發(fā)現(xiàn)進入首頁的用戶有50%會訪問第二個頁卡。所以預(yù)加載第二個頁卡的數(shù)據(jù)可以很大程度提高用戶下個點擊頁面的打開速度。

  第二、提高頁面加載速度

  在小程序這個環(huán)境下,怎樣提高頁面加載速度呢? 這個問題很大,我把問題具體一下,如何縮短從用戶點擊某個鏈接,到打開新頁面的這段時間? 這里拋一個核心關(guān)鍵點:從頁面響應(yīng)用戶點擊行為,開始跳轉(zhuǎn),到新頁面onload事件觸發(fā),存在一個延遲,這個延遲大概在100-300ms之間。這個延遲說短不短,我們可以利用這段時間,預(yù)先發(fā)起新頁面所需要的網(wǎng)絡(luò)請求。這樣一來,就節(jié)省了100-300ms。知道有這個gap后,代碼如何實現(xiàn)呢?說白了,就是實現(xiàn)一個在A頁面預(yù)加載B頁面數(shù)據(jù)的功能。但而這種跨頁面的調(diào)用,很容易把邏輯搞復(fù)雜,將不同頁面的邏輯耦合在一起。所以,我們希望將預(yù)加載的邏輯隱藏于無形中,不增加任何的頁面間耦合,以及開發(fā)復(fù)雜度。

  第三、組件化方案

  微信沒有提供小程序的組件化方案。但開談不說組件化,寫再多代碼也枉然。這里演示一個簡單的組件化實現(xiàn)。這是一個非常有用的東西,可以把所有通用的邏輯都寫在基類里面,包括pv統(tǒng)計,來源統(tǒng)計,擴展生命周期函數(shù),實現(xiàn)組件化等。函數(shù)第一個參數(shù)是頁面名稱,作為頁面的key。第二個是page對象,其中擴展了一個comps數(shù)組,里面就是所有要加載的組件?;愖龅氖虑椋褪前堰@些組件對象的屬性和方法復(fù)制到Page對象上。其中data屬性會merge到一起。而微信預(yù)定義的生命周期函數(shù),則封裝成隊列按序執(zhí)行。

  第四、減少默認(rèn)data的大小

  剛剛說到,頁面打開一個新頁面時微信會深拷貝一個page對象,因此,應(yīng)該盡量減少默認(rèn)data的大小,以及減少對象內(nèi)的自定義屬性。有圖有真相:這里寫圖片描述以一個100個屬性的data對象為測試用例,在iphone6上,頁面的創(chuàng)建時間會因此增加150ms。

  通過不同的小程序相互跳線或同行之間。這非常簡單,即商家將小程序綁定到相同的公共號碼,并且用戶可以同時查看不同商家的信息。通過行業(yè)媒體人士,類似于旅游行業(yè)的人來尋找旅游博主,可以準(zhǔn)確地定位并獲得用戶。新浪博客,今天的標(biāo)題不是軟文字平臺。

很高興能回答您的問題,還有疑問可以掃描下面二維碼進行在線咨詢,您也可以免費開通小程序商城,試試商城系統(tǒng)的功能。

關(guān)鍵詞:微信小程序問題熱度:

電話咨詢 預(yù)約演示 0元開店