優化uniappx頁面性能,處理頁面滑動卡頓問題

問題:在頁面遇到滑動特別卡的情況就是在頁面使用了動態樣式或者動態類,做切換的時候頁面重新渲染導致頁面滑動卡頓

解決:把動態樣式和動態類做的樣式切換改為通過獲取元素修改樣式屬性值

循環修改樣式示例?

bannerList.forEach((_, index) => {uni.getElementById(`swiper-dot-${index}`)?.style.setProperty('backgroundColor', e.detail.current == index ? '#fff' : '#ededed');uni.getElementById(`swiper-dot-${index}`)?.style.setProperty('width', e.detail.current == index ? '18px' : '12px');
})

優化總結

1.減少dom數量,少套無用的殼,在一個元素渲染更多的內容

2.頁面編寫優化

  1. 請使用transform方式,而不是給dom的left/top/width/height等position參數重新賦值。這個在web開發也一樣,直接改position參數不如使用transform。因為每次修改position參數都要過排版,而transform不用。
  2. 請拿到dom的id/ref,調用js api操作,而不是通過模板style綁定data操作。因為操作data需要vue框架做diff對比,直接API操作則可以跳過vue框架。在touch和滾動中,16毫秒一幀才能達到最平滑的效果,多了幾毫秒就可能掉幀。
  3. 首先還是dom元素數量和層級,直接影響排版
  4. 給dom元素指定明確的寬高,而不是很多自適應計算,可以提高排版效率。比如父節點未指定寬高,需要等所有子節點計算好寬高后把父節點撐開,這樣就會比較低效。
  5. 指定主軸方向的尺寸可以減少遞歸的深度
  6. 文字測量屬于耗時操作,給text組件指定寬高可以提升排版效率
  7. 指定圖片的尺寸信息可以減少排版次數
  8. css單位尺寸性能比較,px > rpx > 百分比,使用百分比時父節點有明確寬高或者不依賴子節點確定寬高可以提升排版效率

?3.數據更新優化,減少數據對象的修改,盡量不要修改整個對象數組,去修改對象數組里面需要修改的值

官方說明:?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80751.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80751.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80751.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DeepSeek賦能Nuclei:打造網絡安全檢測的“超級助手”

引言 各位少俠,周末快樂,幸會幸會! 今天嘮一個超酷的技術組合——用AI大模型給Nuclei開掛,提升漏洞檢測能力! 想象一下,當出現新漏洞時,少俠們經常需要根據Nuclei模板,手動扒漏洞文章…

leetcode - 字符串

字符串 466. 統計重復個數 題目 定義 str [s, n] 表示 str 由 n 個字符串 s 連接構成。 例如,str ["abc", 3] "abcabcabc" 。 如果可以從 s2( )中刪除某些字符使其變為 s1,則稱字符串 s1( )可以從字符串 s2 獲得。 例如&#xf…

Java求職者面試:從Spring Boot到微服務的技術深度探索

場景:互聯網大廠Java求職者面試 角色介紹: 面試官:技術精湛,負責把控面試質量。謝飛機:搞笑的程序員,偶爾能答對問題。 第一輪:基礎知識 面試官:謝飛機,你能簡要介紹…

榕壹云國際版短劇系統:基于Spring Boot+MySQL+UniApp的全球短劇創作平臺

一、項目背景與簡介 在短視頻行業高速發展的今天,短劇內容已成為全球用戶娛樂消費的新寵。為滿足市場對高質量、多樣化短劇的需求,我們基于Spring Boot MySQL UniApp技術棧開發了榕壹云國際版短劇系統,這是一款面向全球市場的短劇創作與分…

資料分享!瑞芯微RK3506(3核ARM+Cortex-A7 + ARM Cortex-M0)工業評估板硬件資料

前 言 本文主要介紹TL3506-EVM評估板硬件接口資源以及設計注意事項等內容。 RK3506J/RK3506B處理器的IO電平標準一般為1.8V、3.3V,上拉電源一般不超過3.3V或1.8V,當外接信號電平與IO電平不匹配時,中間需增加電平轉換芯片或信號隔離芯片。按鍵或接口需考慮ESD設計,ESD器…

C#通過NTP服務器獲取NTP時間

C#通過NTP服務器獲取NTP時間 注意事項: 如果NTP服務器地址是域名,如阿里云的NTP服務器地址。需要DNS解析。NTP使用UDP通訊,默認端口是123NTP經過很多年的發展,有4個版本號,目前常用的3和4。NTP區分客戶端和服務端&am…

使用cmd來創建數據庫和數據庫表-簡潔步驟

創建數據庫和表: 1. 按WinR打開“運行”,輸入cmd,回車 2. 登錄數據庫:mysql -u root -p 然后輸入密碼 3. 創建數據庫create database myblog; myblog為數據庫名(自定義你的數據庫名) !注意分號不要漏了! …

java工具類

LocalDateTime LocalDateTime可以獲取當前時間: LocalDateTime now LocalDateTime.now(); 同時他也可以獲取指定時間: LocalDateTime dateTime LocalDateTime.of(2023, 5, 15, 10, 30) 若我們時間值超出了我們的實際情況值,我們將會出現…

02_java的運行機制以及JDKJREJVM基本介紹

1、運行機制 2、JDK&JRE&JVM JDK 基本介紹 (1) JDK 的全稱(Java Development Kit Java開發工具包) JDK JRE java的開發工具 [ java, javac, javadoc, javap等 ] (2)JDK是提供給Java開發人員使用的,其…

【文心快碼】確實有點東西!

這里寫自定義目錄標題 背景 Electron 開發 Markdown 編輯器全記錄提問1:提問2:提問3:提問4:完整項目結構總結 背景 前兩天百度在2025 百度AI開發者大會"如何駕馭Coding Agent分會場"上發布了文心快碼,注冊試…

AI心理健康服務平臺項目面試實戰

AI心理健康服務平臺項目面試實戰 第一輪提問: 面試官: 請簡要介紹一下AI心理健康服務平臺的核心技術架構。在AI領域,心理健康服務的機遇主要體現在哪些方面?如何利用NLP技術提升用戶與AI的心理健康對話體驗? 馬架構…

Win10安裝 P104-100 驅動

安裝完之后總結一下, 之前做了不少功課, 在網上搜了很多教程, 視頻的文字的, 但是很多已經比較陳舊了. 最后發現的這個 GitHub 項目 NVIDIA-patcher 是最有用的, 因為這是現在這些魔改驅動的來源. NVIDIA-patcher 倉庫地址: https://github.com/dartraiden/NVIDIA-patcher 安…

把一個 PyTorch 的圖像張量轉換成 NumPy 格式,并按照正確的維度順序顯示出來

示例代碼: plt.imshow(np.transpose(tensor_denorm.numpy(), (1, 2, 0)))它的作用是:把一個 PyTorch 的圖像張量轉換成 NumPy 格式,并按照正確的維度順序顯示出來。 🚀 一步步解釋: ? tensor_denorm 這是一個形狀為…

【速寫】conda安裝(linux)

序言 昨天葉凱浩空降(全馬241),降維打擊,10分24秒斷層奪冠。 夏瀟陽10分53秒絕殺小崔10分54秒第2,小崔第3,均配都在3’30"以內,即便我是去年巔峰期也很難跑出這種水平。我就知道他去年大…

算法題(135):唯一的雪花

審題: 本題需要我們對于每一組數據都找出最大的包裹大小 思路: 本題解析題目意思后我們可以把雪花的編號當成數組中元素的值,把包裹看成一個區間。 本質上就是讓我們找出一組數據中,所有子段中最長的子段。 方法一:暴力…

算法習題-力扣446周賽題解

算法可以調度思維,讓程序員的思維發散,找到更好的解決方案。 第一題:執行指令后的得分 題目: 給你兩個數組:instructions 和 values,數組的長度均為 n。你需要根據以下規則模擬一個過程: 從下標…

Ubuntu下MySQL的安裝

Ubuntu下MySQL的安裝 1. 查看當前操作系統版本2. 添加MySQL APT源2.1 訪問下載頁面,并下載發布包2.2 執行安裝指令2.3 安裝MySQL 3. 查看MySQL狀態4. 設置開機自啟動 1. 查看當前操作系統版本 通過命令lsb_release -a查看: 2. 添加MySQL APT源 2.1 訪問下…

航順 芯片 開發記錄 (一) 2025年4月27日19:23:32

芯片型號: HK32F030MF4P6 第一步:創建工程目錄 inc :頭文件目錄 MDK-ARM : 工程根目錄 (新建工程選擇該目錄) src :相關資源存放位置 官方函數庫相關內容 官方函數庫大致結構圖 ├─HK32F030MLib ├─CMSIS │ ├─CM0 │ │ └─Core │ │ arm_common_table…

Python 數據可視化進階:精準插入圖表到指定 Excel 工作表

Python 數據可視化進階:精準插入圖表到指定 Excel 工作表 在處理數據的過程中,我們常常需要將生成的圖表精準地插入到已存在數據的 Excel 文件的指定工作表中。借助 Python 的強大庫組合,這一操作得以高效實現。以下是經過優化和注釋補充的代…

集成方案 | Docusign + 甄零科技,賦能企業海外業務高效增長!

本文將詳細介紹 Docusign 與甄零科技的集成步驟及其效果,并通過實際應用場景來展示 Docusign 的強大集成能力,以證明 Docusign 集成功能的高效性和實用性。 甄零科技是一家專注于數字化合同管理系統的 SaaS 解決方案提供商,致力于為企業打造“…