一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

注冊登錄

微信小程序的優化技巧有哪些、優化方法

2020-09-28
導讀:小程序科普類的文章已經很多了,這里講下針對小程序的優化方法,可以有效提高小程序的響應速度和用戶體驗。當然,開發體驗也提高不少。1、提高頁面加載速度前端永恒不變的話題...

  hishop表示小程序科普類的文章已經很多了,這里講下針對小程序的優化方法,可以有效提高小程序的響應速度和用戶體驗。當然,開發體驗也提高不少。

  1、提高頁面加載速度——前端永恒不變的話題

  在小程序這個環境下,怎樣提高頁面加載速度呢? 這個問題很大,我把問題具體一下,如何縮短從用戶點擊某個鏈接,到打開新頁面的這段時間? 這里拋一個核心關鍵點:

  從頁面響應用戶點擊行為,開始跳轉,到新頁面onload事件觸發,存在一個延遲,這個延遲大概在100-300ms之間(安卓響應比ios慢些)。

  這個延遲說短不短,我們可以利用這段時間,預先發起新頁面所需要的網絡請求。這樣一來,就節省了100-300ms(或者一個網絡請求的時間)。

  知道有這個gap后,代碼如何實現呢?

  說白了,就是實現一個在A頁面預加載B頁面數據的功能。但而這種跨頁面的調用,很容易把邏輯搞復雜,將不同頁面的邏輯耦合在一起。所以,我們希望將預加載的邏輯隱藏于無形中,不增加任何的頁面間耦合,以及開發復雜度。

  下面以騰訊視頻小程序為例,講解下技術實現。

微信小程序的優化技巧有哪些、優化方法
當用戶點擊海報圖后,會執行以下代碼(就一行):

 

  onPlay: function (e) {

  this.$route('/pages/play/index?cid='+this._cid);

  }

微信小程序的優化技巧有哪些、優化方法

  接下來程序會加載播放頁:

 

  接下來程序會加載播放頁:

  fetchData: function (query) {

  },

  onNavigate: function (res) {

  this.$put('play-detail', this.fetchData(res.query));

  },

  onLoad: function (query) {

  this.$take('play-detail') || this.fetchData(query);

  }

  可以看到,不管是外部頁面的調用還是實際邏輯的實現都非常簡潔。在第二個頁面中,我們擴展了Page的生命周期函數,增加了onNavigate方法。該方法在頁面即將被創建但還沒開始創建的時候執行。

  老司機也許會發現這里有點蹊蹺。在首頁點擊的時候,播放頁根本就沒有創建,對象都不存在,怎么訪問到里面的方法呢?

  這里就要說下微信的頁面機制。

  在小程序啟動時,會把所有調用Page()方法的object存在一個隊列里(如下圖)。每次頁面訪問的時候,微信會重新創建一個新的對象實例(實際上就是深拷貝)。也就是說,在A頁面在執行點擊響應事件的時候,B頁面的實例還沒創建,這時候調用的onNavigate方法,實際上是Page對象的原型(小程序啟動時候創建的那個)。而接下來馬上要被創建的B頁面,又是另外一個object。所以,在onNavigate和onLoad方法中,this指針指的不是同一個對象,不能把臨時數據存儲在當前object身上。因此我們封裝了一對全局的緩存方法,$put()和$take()。

微信小程序的優化技巧有哪些、優化方法
微信小程序的優化技巧有哪些、優化方法

  為了通用性,Page上用到的公共的方法,比如$route、$put、$take都定義在了一個Page的基類里面。基類還同時保存了所有頁面的list,這樣就可以做到根據頁面名調用具體頁面的onNavigate方法。 當然,并不是每個頁面都需要實現onNavigate方法,對于沒有定義onNavigate方法的,$route函數會跳過預加載環節,直接跳轉頁面。所以對于開發者來說,不需要關心別的頁面實現了什么,對外看來完全透明。

  2、用戶行為預測

  在上面的例子中,我們實現了用戶主動點擊頁面,提前加載下一頁面數據的方法。而在某些場景下,用戶的行為可以預測,我們可以在用戶還沒點擊的時候就預加載下個頁面的數據。讓下個頁面秒開,進一步提升體驗的流暢性。

  繼續以騰訊視頻小程序為例,主界面分為3個頁卡(大部分小程序都會這么設計),通過簡單的數據分析,發現進入首頁的用戶有50%會訪問第二個頁卡。所以預加載第二個頁卡的數據可以很大程度提高用戶下個點擊頁面的打開速度。

  同樣,先看看代碼實現。 首頁預加載頻道頁的姿勢:

  onReady: function(){

  //預加載頻道頁

  this.$preLoad("/pages/channel/index")

  }

  頻道頁的實現方法:

  onPreload: function(req){

  //拉取數據

  this.fetchData({

  id: req.query.channelId ? req.query.channelId : defaultId,

  isPreload: true

  })

  }

  跟第一個例子類似,這里定義了一個$preLoad()方法,同時給Page擴展了一個onPreload事件。頁面調用$preLoad()后,基類會自動找到該頁面對應的onPreload函數,通知頁面執行預加載操作。 跟第一個例子不同,這里預加載的數據會保存在storage內,因為用戶不一定會馬上訪問頁面,而把數據存在全局變量會增加小程序占用的內存。微信會毫不猶豫的把內存占用過大的小程序給殺掉。

  也許對于大部分有app開發經驗的同學來說,更普遍的做法是先讓頁面展示上次緩存的數據,再實時拉取新數據,然后刷新頁面。這個方法在小程序上也許體驗并不太好,原因是小程序的性能以及頁面渲染速度都不如原生app。將一個大的data傳輸給UI層,是一個很重的操作。因此不建議采用這種方法。

  3、減少默認data的大小

  剛剛說到,頁面打開一個新頁面時微信會深拷貝一個page對象,因此,應該盡量減少默認data的大小,以及減少對象內的自定義屬性。有圖有真相:

微信小程序的優化技巧有哪些、優化方法

  以一個100個屬性的data對象為測試用例,在iphone6上,頁面的創建時間會因此增加150ms。

  4、組件化方案

  微信沒有提供小程序的組件化方案(相信一定在實現中)。但開談不說組件化,寫再多代碼也枉然。這里演示一個簡單的組件化實現。

  以騰訊視頻播放頁為例,頁面定義如下:

微信小程序的優化技巧有哪些、優化方法

  其中,P()函數是自定義的基類。這是一個非常有用的東西,可以把所有通用的邏輯都寫在基類里面,包括pv統計,來源統計,擴展生命周期函數,實現組件化等。

  函數第一個參數是頁面名稱,作為頁面的key。第二個是page對象,其中擴展了一個comps數組,里面就是所有要加載的組件。

  以播放器組件/comps/player/index.js為例:

微信小程序的優化技巧有哪些、優化方法

  組件的定義跟一個普通Page對象一模一樣,有data屬性,onLoad、onShow等事件,也有頁面響應的回調方法。wxml模板里定義的事件和js事件一一對應。

  基類做的事情,就是把這些組件對象的屬性和方法復制到Page對象上(淺拷貝)。其中data屬性會merge到一起。而微信預定義的生命周期函數(包括自己擴展的),則封裝成隊列按序執行。比如當系統調用onLoad方法時,實際上是執行了所有組件的onLoad方法,最后再執行Page的onLoad。

  以上是代碼部分,至于wxml模板和wxss部分,就要手工import過去了。

  wxml:

微信小程序的優化技巧有哪些、優化方法

  wxss:

微信小程序的優化技巧有哪些、優化方法

  5、其他

  雖然微信小程序(http://www.gstsqh.com.cn/xiaocx/)已經足夠小巧,但啟動速度還是有那么2-3秒,無法做到秒開。樓主嘗試對小程序的啟動時間做優化,但沒有找到多少有價值的優化點。單個頁面的初始化只需要1-2ms。也許大部分時間消耗在了微信跟服務器端通信的過程中。期待微信不斷迭代優化。

重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結算

第十部分:小程序客服

第十一部分:電商創業

第十二部分:小程序游戲開發

電話咨詢 微信咨詢 預約演示 0元開店
主站蜘蛛池模板: 亚洲v天堂v手机在线|午夜成年视频|FREEZEFR=aME丰满少妇|日本天堂网站|亚洲热综合|欧美V=a亚洲V=a在线观看日本 | 亚洲永久精品国语字幕|yellow中文字91幕国产在线|综合在线国产|少妇被粗大猛进去69影院|久操视频在线看|夜夜性日日交xxx性视频 | 久久久久久久久久久久=av|少妇又白又嫩又色又粗|欧美日韩精品免费观看视一区二区|国产手机精品一区二区|伊人=av网|久久大香萑太香蕉=aV黄软件 | 野花社区WWW在线全网|久久在线观看|日本久操|久久黄色小说|亚洲=aV无码一区东京热久久|成人无码小视频在线观看 | 蜜臀=aⅴ精品一区二区三区|5c5c5c5c|午夜免费|四虎影视最新免费版|色噜噜狠狠狠狠色综合久|精品服丝袜无码视频一区|国产一区日韩一区 | 免费观看=a级毛片在线播放|特极毛片|男男做爰猛烈叫床视频gv|亚洲日本在线在线看片4k超清|一级黄色免费观看视频|亚洲第一福利网站在线观看 | 日韩精品成人=av|午夜精品一区二区三区免费视频|亚洲精品国产综合久久一线|国产三级=aV在在线观看|GV无码免费无禁网站男男|欧美videos另类极品 | HD性丰满白嫩白嫩少妇=aV|免费成人黄色大片|久久精品中文字幕|久久无码国产专区精品|欧美=a∨|91精品一久久香蕉国产线看观看软件 | 东京热TOKYO综合久久精品|99ri=av国产精品|欧美日本韩国一区二区三区|色综合久|麻豆精产国品一二三产区|97视频在线观看免费 | 好吊妞在线新免费视频|精品一区二区在线播放|久久=av片免费一区二区三区|无码少妇一区二区|中文=av字幕一区|国产精品久久国产精品99盘 | 色综合区|日本免费三片免费观看东热|99re免费精品视频|97在线观看免费观看|超碰超在线|色36cccwww在线播放 | 欧美激情视频一区|欧美9999|各种少妇正面bbw撒尿|黄视频网站在线|97综合在线|一本大道在线无码一区 | 欧美性高清bbbbbbxxxxx|一级毛片免费观看|亚洲国产日韩=a在线欧观看美|日韩欧美特一级大黄作=a毛片免费|影音先锋无码=aⅴ男人资源站|欧美粗大猛烈老熟妇 | 美女=aV一区二区三区|九九热久久这里只有精品|国产精品免费不卡|少妇的BBBB爽爽爽自慰|中文字幕乱码久久午夜不卡|天天做日日做天天爽视频免费 | 中文字幕免费中文|青青草免费在线视频观看|91探花系列在线播放|国产精品久久久久久久久久免|18禁真人抽搐一进一出在线|日本三级韩国三级人妻 | 婷婷综合久久狠狠色99H|精品国偷自产在线视频99|999久久久无码国产精品|国产精品一区二三区|激情中文小说区图片区|国产亚洲日 | 法国少妇XXXX做受|狂野欧美性猛xxxx乱大交|天堂在线最新版www资源|国产在观线免费观看久久|国产综合自拍|午夜毛片在线 | 日韩精品免费一区|日本人与黑人做爰视频网站|国产免费黄视频在线观看|亚洲男人天堂一区|69视频在线免费观看|视频三区二区一区 | 水蜜桃一区二区|特黄特黄=a级毛片免费专区|99久免费视频精品老司机|#NAME?|狠狠综合久久久久尤物|欧美成人精品在线观看 | 欧美一区二不卡视频|片多多免费观看|成人午夜精品无码一区二区三区|国产目拍亚洲精品二区|午夜婷婷|伊人春色在线观看 | 在线观看免费黄网|久久久久久久久久久鸭|91社影院|日本一区免费网站|尹人香蕉久久99天天拍|任我爽橹在线精品视频 | 最新精品国偷自产在线老年人|国产青涩|日韩精品久久久久|九九99久久精品国产|亚洲=aV无码有乱码在线观看|91精选视频在线观看 | 伊人网视频在线|久久免费看少妇=a高潮一片黄特|99国产精品自在自在久久|久久国产最新|一级片网址|无码天堂亚洲国产=aV久久 | 台湾久久网|99久久精品免费看国产四区|亚洲一区二区三区在线视频观看|一区二区三区四区在线免费视频|红桃视频二区|国产久艹视频 | 国产亚洲精品一区二区三区|狠狠插综合网|把女人弄爽特黄=a大片3人|国产精品99久久久久久人免费|永夜星河免费在线观看|日日做=a爰片久久毛片=a片英语 | 无遮挡吃胸膜奶免费网站|操操日日|最近日本mv字幕免费观看视频|久久国产劲爆∧V内射-百度|午夜视频在线免费观看|无码=av中文一区二区三区 | 在线一二三|国产真实偷乱视频在线观看|西西人体www大胆高清|久久九九精品99国产精品|精品久久久久久久|亚洲人人插 | 久久不见久久见免费视频7|一级一级97片看一级毛片|奇迹少女第五季免费中文版|日韩字幕一中文在线综合|久久人精品|www.日韩精品.com | 欧美人与禽猛交乱配|黑人添美女bbb添高潮了|91久久精品日日躁夜夜躁国产|99久久婷婷国产综合亚洲|久久影院视频免费|成人在线视屏 | 精品久久久蜜桃|天堂亚洲|久久精品女|蜜臀久久精品久久久更新时间|日韩精品一区二区在线播放|九九视频免费在线观看 | 国产一二区在线观看|黄在线免费|欧美大片www|无码h片在线观看网站|亚洲图区综合网|伊人久久亚洲 成人一区二区三区免费视频|日本=a=a=a=a片毛片免费观蜜桃|在线观看亚洲欧美|日本一夲道无码不卡免费视频|穿乳环蒂环上锁调教老师|国产成人综合一区二区三区 | 亚洲=av无码=av另类专区|久久日韩精品无码一区|日韩精品中文在线|久久精品国产综合|c=aoporm超碰国产牛牛|九色国产蝌蚪视频 | 尤物午夜在线|97插插插|欧美成人一区二区三区在线视频|国产一级片精品|亚洲毛片亚洲毛片亚洲毛片|91免费视频观看 | 亚洲另类欧美综合久久|天天澡夜夜澡人人澡|最近免费中文字幕完整视频|精品bbwbbwbbwbbwbbwbbw|色婷婷五月另类综合视频在线|黄石第五季第9集回归 | 蜜臀影视|91亚洲精选|激情在线小说图片视频区|日韩操女人|国产激情=av一区二区三区|国产欧美www.xj在线观看 | 搡女人真爽免费视频网站波兰美女|蜜臀99|多男一女一级淫片免费播放口|日本精品不卡|特级毛片=a级毛片免费观看R|免费成人精品视频 | 日本xxx大片免费观看|久色在线三级三级三级免费看|视频一区在线播放|国产=a∨国片精品白丝美女视频|天美传媒=aV成人片免费看|成人天堂yy6080亚洲高清 | 蜜桃特黄=a∨片免费观看|97在线成人自拍视频|色欲久久久天天天精品综合网|97伦理97伦理2018最新|中国老师精69xxxxxx免|四虎影视永久免费 | CONDOM色孩交VIDEOS精品|#NAME?|四虎永久在线精品8848=a|三级在线观看国产|日韩久久成人|大学生一级一片第一次野外 | www.视频一区|韩国伦理片在线|无码熟妇人妻=av在线影片免费|亚洲入口|爽到憋不住潮喷大喷水视频|蜜桃视频www 色播六月天|色综合久久久久久久久久|国产精品久久久久不卡绿巨人|国产精品视频一区国模私拍|久久婷综合|精品麻豆剧传媒=av国产 日韩=a网|超碰=av在线|国产综合久|三级视频在线|久久精品毛片免费观看|护士精品一区二区三区99 | 亚洲在女同久久中文字幕|日本性一区二区|人妻精品久久久久中文字幕69|综合久久一区二区|无码观看=a=a=a=a=a=a=a=a片|在线影院免费观看 |