日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

項目亮點:分析與解決小程序頁面切換過程卡頓的問題

來源: 責編: 時間:2024-06-05 17:46:34 230觀看
導讀在微信小程序的開發過程中,發現部分頁面的切換動畫在真機調試時,非常卡頓。頁面切換是指從一個頁面,切換到另外一個頁面。反復查看了自己的代碼,也沒有發現自己寫了任何非常耗時的操作,因此非常迷惑。思考了多種方案沒有效

hz028資訊網——每日最新資訊28at.com

在微信小程序的開發過程中,發現部分頁面的切換動畫在真機調試時,非常卡頓。hz028資訊網——每日最新資訊28at.com

頁面切換是指從一個頁面,切換到另外一個頁面。hz028資訊網——每日最新資訊28at.com

反復查看了自己的代碼,也沒有發現自己寫了任何非常耗時的操作,因此非常迷惑。hz028資訊網——每日最新資訊28at.com

思考了多種方案沒有效果,于是在網上找了一種說法,一篇文章說,在全局樣式中新增如下屬性,就可以解決。hz028資訊網——每日最新資訊28at.com

page {  -webkit-overflow-scrolling: touch;}

病急亂投醫試了一下,很可惜沒有效果。后來想起來了這條屬性是用來解決 iOS 使用 overflow: scroll 滾動不流暢的問題的。hz028資訊網——每日最新資訊28at.com

于是,在沒有頭緒的情況下,我啟用了我的找 bug 的終極大招:刪除定位法。hz028資訊網——每日最新資訊28at.com

刪除定位法:先刪除部分代碼,再執行頁面,查看卡頓問題是否消失。如果沒有,則刪除其他部分的代碼,直到找到問題代碼為止。hz028資訊網——每日最新資訊28at.com

該方法在我的十多年中,所向披靡,戰功顯赫。果不其然,我最終找到了問題所在。hz028資訊網——每日最新資訊28at.com

在該頁面組件中,我寫了這樣一段代碼。hz028資訊網——每日最新資訊28at.com

useEffect(() => {  ad.current = Taro.createRewardedVideoAd({    adUnitId: ads.ad15  })  ...}, [])

在微信小程序中,createRewardedVideoAd 方法是用來提前創建激勵廣告實例,以便于讀者在點擊按鈕觀看廣告時,廣告已經創建好了,而不用等待那么久。hz028資訊網——每日最新資訊28at.com

很顯然,該方法是一個耗時操作。頁面如下:hz028資訊網——每日最新資訊28at.com

hz028資訊網——每日最新資訊28at.com

但是這里一個很具有迷惑性的地方在于,實際上我調用該方法的時機,已經在組件創建完成之后了。hz028資訊網——每日最新資訊28at.com

useEffect(() => {  // 組件創建完成之后}, [])

因此,我就有點懵了,為什么組件創建完成之后調用該方法,還是會卡頓呢?hz028資訊網——每日最新資訊28at.com

后面從結果反推之后,我才想明白,微信小程序頁面切換到詳細邏輯應該是。hz028資訊網——每日最新資訊28at.com

1. 創建新頁面實例2. 執行入場動畫 「問題是入場動畫卡頓」

那么此時如果我們在頁面實例創建完成之后立馬執行一個耗時任務,就會跟入場動畫搶占主線程資源,從而導致渲染卡頓。hz028資訊網——每日最新資訊28at.com

想明白了這個過程之后,解決的辦法就非常簡單了,我們只需要在入場動畫執行結束之后,再執行耗時任務即可。因此,我們可以使用定時器來推后耗時任務的執行。hz028資訊網——每日最新資訊28at.com

useEffect(() => {  setTimeout(() => {    ad.current = Taro.createRewardedVideoAd({      adUnitId: ads.ad15    })  }, 200)  ...}, [])

再保存,重試,發現所有卡頓的頁面都流暢了!完美解決。hz028資訊網——每日最新資訊28at.com

在客戶端開發的過程中,還有可能會遇到另外一種情況會導致頁面卡頓。不過這種情況與我這次遇到的這個卡頓的表現會有點不太一樣。這種情況的表現為:hz028資訊網——每日最新資訊28at.com

當我點擊按鈕之后,過了很長時間切換動畫才開始執行。hz028資訊網——每日最新資訊28at.com

通常情況下,造成這種卡頓的原因是因為頁面初始化時執行的邏輯過多,或者渲染的內容多過,導致初始化時間過長,從而造成反應緩慢。解決的辦法就是通過懶加載延后處理和渲染非首屏內容。hz028資訊網——每日最新資訊28at.com

總結

該場景的問題與解決方案可以當做項目亮點在面試中去介紹。無論是找到問題的思路,還是解決的思路都可以展開聊很多。hz028資訊網——每日最新資訊28at.com

對于瀏覽器的渲染機制和事件循環了解非常深刻的朋友可以快速想明白卡頓的原因所在,在面試中,基于這個場景延展出來自己對渲染原理的理解,那么你的面試過程將會非常有質量。hz028資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-92176-0.html項目亮點:分析與解決小程序頁面切換過程卡頓的問題

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 現在停止濫用useMemo吧!

下一篇: 拼多多面試:Netty如何解決粘包問題?

標簽:
  • 熱門焦點
  • Redmi Buds 4開箱簡評:才199還有降噪 可以無腦入

    在上個月舉辦的Redmi Note11T Pro系列新機發布會上,除了兩款手機新品之外,Redmi還帶來了兩款TWS真無線藍牙耳機產品,Redmi Buds 4和Redmi Buds 4 Pro,此前我們在Redmi Note11T
  • 7月安卓手機性能榜:紅魔8S Pro再奪榜首

    7月份的手機市場風平浪靜,除了紅魔和努比亞帶來了兩款搭載驍龍8Gen2領先版處理器的新機之外,別的也想不到有什么新品了,這也正常,通常6月7月都是手機廠商修整的時間,進入8月份之
  • Raft算法:保障分布式系統共識的穩健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可復制、可冗余、可容錯”)的首字母縮寫。Raft算法是一種用于在分布式系統
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • 讓我們一起聊聊文件的操作

    文件【1】文件是什么?文件是保存數據的地方,是數據源的一種,比如大家經常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數據,它既可以保
  • 如何通過Python線程池實現異步編程?

    線程池的概念和基本原理線程池是一種并發處理機制,它可以在程序啟動時創建一組線程,并將它們置于等待任務的狀態。當任務到達時,線程池中的某個線程會被喚醒并執行任務,執行完任
  • 為什么你不應該使用Div作為可點擊元素

    按鈕是為任何網絡應用程序提供交互性的最常見方式。但我們經常傾向于使用其他HTML元素,如 div span 等作為 clickable 元素。但通過這樣做,我們錯過了許多內置瀏覽器的功能。
  • 攜眾多高端產品亮相ChinaJoy,小米帶來一場科技與人文的視聽盛宴

    7月28日,全球數字娛樂領域最具知名度與影響力的年度盛會中國國際數碼互動娛樂展覽會(簡稱ChinaJoy)在上海新國際博覽中心盛大開幕。作為全球領先的科
  • 滴滴違法違規被罰80.26億 共存在16項違法事實

    滴滴違法違規被罰80.26億 存在16項違法事實開始于2121年7月,歷經一年時間,網絡安全審查辦公室對“滴滴出行”網絡安全審查終于有了一個暫時的結束。據“網信
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产亚洲精品bv在线观看| 欧美日韩黄色一区二区| 久久高清免费观看| 久久久久欧美精品| 欧美**字幕| 国产精品夫妻自拍| 国内外成人免费激情在线视频| 在线国产精品一区| 正在播放亚洲一区| 欧美一区二区三区视频在线观看| 老司机午夜免费精品视频| 欧美日韩精品一区二区三区四区 | 久久裸体视频| 欧美日韩国产一级| 国产自产精品| 一区二区三区福利| 快播亚洲色图| 国产精品免费福利| 亚洲国产另类久久久精品极度| 亚洲一区一卡| 欧美成人免费在线| 国产日韩欧美综合精品| 亚洲美女av黄| 久久久免费精品视频| 国产精品久久国产精品99gif | 亚洲性图久久| 久久久91精品国产一区二区三区| 欧美日韩专区在线| 在线成人性视频| 午夜天堂精品久久久久| 欧美激情一区二区| 韩国三级电影一区二区| 亚洲一区亚洲二区| 欧美日本高清一区| 在线精品亚洲| 性欧美video另类hd性玩具| 欧美精品一区二区精品网| 国语自产精品视频在线看| 欧美日韩一区二区在线视频 | 在线日本欧美| 欧美一区二区三区视频| 欧美色图首页| 最新日韩精品| 久久乐国产精品| 国产伦精品免费视频| 99国产精品久久久久久久久久| 久久中文字幕一区| 国产亚洲欧美一区二区| 亚洲一区二区三区免费视频| 欧美精品激情在线| 1769国产精品| 久久久久www| 国产人成精品一区二区三| 亚洲午夜成aⅴ人片| 欧美精品三级| 亚洲欧洲日韩在线| 蜜臀av一级做a爰片久久| 国内精品久久久久影院优| 欧美一区成人| 国产麻豆精品久久一二三| 亚洲天堂激情| 欧美涩涩视频| 一区二区三区日韩精品视频| 欧美久久影院| 亚洲美女中出| 欧美福利视频一区| 亚洲黄色视屏| 欧美大片在线观看一区| 在线观看日韩av| 久久亚洲精品一区| 黄色精品免费| 久久综合色8888| 怡红院精品视频| 久久亚洲精品一区二区| 国外成人性视频| 久久av老司机精品网站导航| 国产欧美日韩亚洲精品| 性刺激综合网| 国产亚洲一区二区在线观看 | 欧美一二区视频| 国产日韩欧美亚洲一区| 性伦欧美刺激片在线观看| 国产精品男gay被猛男狂揉视频| 亚洲在线成人精品| 国产欧美日韩另类一区| 久久精品五月婷婷| 悠悠资源网亚洲青| 欧美成人dvd在线视频| 亚洲黄色成人久久久| 欧美精品激情| 亚洲深夜激情| 国产欧美韩日| 久久久久久夜| 亚洲人成网站影音先锋播放| 欧美日韩1区2区3区| 国产精品99久久久久久久久久久久 | 欧美a级片网站| 99re6这里只有精品视频在线观看| 欧美日韩不卡视频| 亚洲午夜女主播在线直播| 国产精品永久免费在线| 久久精品国产免费观看| 在线观看国产精品淫| 欧美福利电影网| 亚洲视频一区二区在线观看| 国产精品亚洲精品| 久久久欧美一区二区| 亚洲日本成人| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 亚洲美女黄网| 国产精品久久久久久久久久久久| 欧美一级播放| 一区二区在线免费观看| 欧美极品一区二区三区| 亚洲专区在线视频| 韩国欧美一区| 欧美激情综合网| 先锋影院在线亚洲| 亚洲电影免费观看高清| 欧美日韩一区二区免费在线观看| 午夜一区二区三区在线观看| 在线日韩av永久免费观看| 欧美日韩国产影片| 久久动漫亚洲| 亚洲伦理自拍| 国产午夜久久久久| 欧美激情在线观看| 欧美影院在线播放| 亚洲精品免费在线观看| 国产伦精品一区二区三区免费迷| 老鸭窝亚洲一区二区三区| 一区二区三区|亚洲午夜| 国产一区美女| 欧美三区免费完整视频在线观看| 久久激情婷婷| 一区二区三区四区五区视频| 国外成人性视频| 国产精品国产三级国产a| 免费看的黄色欧美网站| 亚洲欧美国产制服动漫| 亚洲国产精品久久久久婷婷老年| 国产精品久久久久永久免费观看| 麻豆91精品| 午夜日韩激情| 亚洲精品中文字幕在线| 国产一区二区黄| 欧美日韩综合| 噜噜噜噜噜久久久久久91| 亚洲永久精品大片| 亚洲清纯自拍| 韩国欧美国产1区| 国产精品久久久久久久久久尿| 猛干欧美女孩| 久久不射电影网| 亚洲午夜小视频| 亚洲欧洲日韩女同| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 亚洲精品一区在线观看香蕉| 国精产品99永久一区一区| 欧美日韩一区二区精品| 免费成人av| 久久精品国产久精国产爱| 在线亚洲一区二区| 最新亚洲视频| 在线成人欧美| 国产一区二区日韩| 国产精品日韩在线播放| 欧美日韩成人网| 欧美mv日韩mv国产网站| 久久嫩草精品久久久精品| 欧美在线看片a免费观看| 亚洲女同同性videoxma| 99精品热6080yy久久| 亚洲黄网站黄| 亚洲第一天堂av| 激情久久中文字幕| 国内精品国语自产拍在线观看| 国产精品午夜视频| 国产精品成人在线观看| 欧美日韩精品免费观看视一区二区 | 欧美日韩一区二区高清| 欧美激情久久久久| 欧美1区2区视频| 美女主播精品视频一二三四| 久久狠狠婷婷| 欧美一区二区在线免费播放| 午夜激情一区| 亚洲欧美国产77777| 亚洲天堂黄色| 国产精品久久久久久影视| 欧美母乳在线| 欧美激情亚洲国产| 欧美国产三区| 欧美黄色aaaa| 欧美精品二区| 欧美激情综合网| 欧美激情麻豆| 欧美激情综合五月色丁香小说| 欧美成人免费网| 欧美精品日韩三级| 欧美日本三区| 欧美日韩另类在线| 欧美三级视频在线| 国产精品xxxav免费视频|