WeTest 導(dǎo)讀
小程序科普類的文章已經(jīng)很多了,今天這里講的是針對(duì)小程序的優(yōu)化方法,可以有效提高小程序的響應(yīng)速度和用戶體驗(yàn)。當(dāng)然,開(kāi)發(fā)體驗(yàn)也提高不少。
1、提高頁(yè)面加載速度
在小程序這個(gè)環(huán)境下,怎樣提高頁(yè)面加載速度呢? 這個(gè)問(wèn)題很大,我把問(wèn)題具體一下,如何縮短從用戶點(diǎn)擊某個(gè)鏈接,到打開(kāi)新頁(yè)面的這段時(shí)間? 這里拋一個(gè)核心關(guān)鍵點(diǎn):
從頁(yè)面響應(yīng)用戶點(diǎn)擊行為,開(kāi)始跳轉(zhuǎn),到新頁(yè)面onload事件觸發(fā),存在一個(gè)延遲,這個(gè)延遲大概在100-300ms之間(安卓響應(yīng)比ios慢些)。
這個(gè)延遲說(shuō)短不短,我們可以利用這段時(shí)間,預(yù)先發(fā)起新頁(yè)面所需要的網(wǎng)絡(luò)請(qǐng)求。這樣一來(lái),就節(jié)省了100-300ms(或者一個(gè)網(wǎng)絡(luò)請(qǐng)求的時(shí)間)。
知道有這個(gè)gap后,代碼如何實(shí)現(xiàn)呢?
說(shuō)白了,就是實(shí)現(xiàn)一個(gè)在A頁(yè)面預(yù)加載B頁(yè)面數(shù)據(jù)的功能。但而這種跨頁(yè)面的調(diào)用,很容易把邏輯搞復(fù)雜,將不同頁(yè)面的邏輯耦合在一起。所以,我們希望將預(yù)加載的邏輯隱藏于無(wú)形中,不增加任何的頁(yè)面間耦合,以及開(kāi)發(fā)復(fù)雜度。
下面以騰訊視頻小程序?yàn)槔v解下技術(shù)實(shí)現(xiàn)。
小程序首頁(yè):
當(dāng)用戶點(diǎn)擊海報(bào)圖后,會(huì)執(zhí)行以下代碼(就一行):