微信小程序性能與體驗優化

1. 合理的設置可點擊元素的響應區域大小;

比較常見的是頁面的點擊按鈕太小,用戶點擊不到按鈕,這樣用戶體驗很不好。

2. 避免渲染頁面耗時過長;

當頁面渲染時間過長的話,會讓用戶感覺非常卡頓,當出現這種情況時,我們應該檢查一下當前渲染的頁面是不過大。

3. 避免執行腳本耗時過長;

執行腳本耗時過長,用戶也會感覺到非常卡頓,體驗非常不好,如果出現這種問題,我們應該檢查一下腳本的執行邏輯是否有問題,需要對腳本的執行邏輯進行相關的優化。

4. 對網絡請求做必要的緩存以避免多余的請求;

當每次從小程序從服務端去請求接口時,都會讓用戶有一個等待的時間,如果等待的時間過長,也會造成非常不好的體驗,所以我們應該盡量避免多余的請求,另外針對多次請求的相同數據,我們應該對數據做相應的緩存。

5. 不要引入未使用的WXSS樣式;

小程序里未使用的樣式應該刪除掉,以避免小程序打包體積過大,影響用戶加載小程序的速度。

6. 文字顏色與背景色搭配要好,適宜的用戶對比度更方便用戶閱讀;

小程序的界面建議有專業的美工進行顏色搭配。

7. 所有資源請求都用HTTPS;

小程序在上線后的接口地址必須是HTTPS的,否則無法正常請求;

8. 去掉官方廢棄的API和接口;

小程序在不斷更新中,有些API和接口會逐漸廢棄,特別是獲取用戶信息的相關功能,現在已經全面廢棄了,所以要特別注意;

9. 避免過大的WXML節點數目,一般應遵循以下規則:

(1). 一個頁面少于1000個WXML節點;

(2). 節點樹深度少于30層;

(3). 子節點樹不大于60個;

10. 避免將不可能訪問到的頁面打包在小程序里;

小程序在開發過程中,可能會寫一些臨時頁面在項目里面,比如一些Demo示例,在小程序在打包上傳時,應將無用的頁面刪除掉,以減小小程序包的體積。

11. 及時回收定時器;

小程序中的定時器是全局的,它并不會隨著頁面的銷毀頁消失,所以當頁面消毀時需要手動清除定時器。

12. 避免使用:active偽類來實現點擊狀態;

對于需要加上點擊態的地方可以使用navigator標簽來實現;

13. 滾動區域可開啟慣性滾動以增強體驗;

在安卓手機上,默認的慣性滾動功能,而在IOS手機上面,需要加上如下樣式才能開啟慣性滾動功能。

-webkit-overflow-scrolling:touch

14. 避免出現JavaScript異常;

如果小程序出現JavaScript異常,會導致小程序的交互出現異常,影響用戶體驗。

15. 所有的響應正常;

小程序的響應如果異常,頁面會一直處于加載狀態中,用戶無法正常使用。

16. 所有請求的耗時不能太久;

小程序的請求如果耗時太久,會導致用戶體驗不好,特別是一些用于投流的小程序,用戶首次打開的速度特別重要。

17. 避免短時間內發起太多的圖片請求;

如果在短期內加載很多的圖片會導致觸發并行加載,這樣就會加載的很慢,多圖片加載時一定要使用懶加載功能。

18. 避免短時間內發起太多的請求;

小程序短時間加載太多的請求會比較耗時,用戶等待過久會影響用戶體驗。

19. 避免setData的數據過大;

執行 setData操作時,邏輯層會把數據傳給系統層,系統層然后再傳給視圖層,這種層層傳遞對數據的大小的嚴格的要求,數據不能超過1MB。

20. 避免setData的調用過于頻繁;

頻繁的調用setData時,數據從邏輯層到達視圖層時,可能無法實時的發生改變。

21. 避免將未綁定的WXML的變量傳入setData;

在data中存放的變量在更新時會觸發頁面刷新,對于與視圖無關的變量應該存在頁面之外。

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

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

相關文章

密室逃脫——收集版修改測試

一、原版修改 1、導入資源 Unity Learn | 3D Beginner: Complete Project | URP 2、設置Scene 刪除SampleScene,打開UnityTechnologies-3DBeginnerComplete下的MainScene 3、降低音量 (1) 打開Hierarchy面板上的Audio降低音量 (2) 打開Prefabs文件夾&#xf…

lnmp php7 安裝ssh2擴展

安裝ssh2擴展前必須安裝libssh2包 下載地址: wget http://www.libssh2.org/download/libssh2-1.11.0.tar.gzwget http://pecl.php.net/get/ssh2-1.4.tgz (這里要換成最新的版本) 先安裝 libssh2 再安裝 SSH2: tar -zxvf libssh2-1.11.0.tar.gzcd libss…

若依框架(RuoYi)中實現部門及子部門用戶查詢的SQL邏輯解析

前言 在基于若依框架(RuoYi)的項目開發中,經常會遇到需要根據部門ID查詢其下屬所有用戶的需求,包括直接隸屬于該部門的用戶以及屬于其子部門的所有用戶。這一需求在組織架構管理、權限分配等場景中尤為常見。本文將深入解析一段典…

【深入理解計算機系統——2信息的表示和處理】

計算機的本質就是二進制,0/1,稱之為bit(位),一個位沒有什么意義,當同時擁有多個位,并且加上某種解釋,就可以表示任何有限集合的元素。(為什么是有限?因為用bi…

【日志信息管理】管理日志信息的類

日志用于記錄程序的執行記錄包括程序的出錯記錄,程序致命退出原因,程序的正常執行記錄。這樣我們就可以很快的察覺程序的錯誤原因、執行狀況等等,因此管理日志信息是非常重要的。 日志一般由以下部分組合: 日志時間、日志等級、…

Java 基礎--File - IO流(2)

I/O流 定義 數據從硬盤流向內存為輸入流,數據從內存流向硬盤為輸出流。輸入也叫讀取數據,輸出也叫寫出數據。 IO分類 1.按照數據的流向分為:輸入流和輸出流 ①輸入流:把數據從其他設備上讀取到內存中的流 ②輸出流&#xff1…

Qt 基礎組件速學 事件過濾器

學習目標:理解事件過濾器 前置環境 運行環境:qt creator 4.12 學習內容和效果演示: Qt 提供了事件過濾器的機制,允許我們在事件到達目標對象之前對事件進行攔截和處理。這在以下情況下非常有用: 全局事件處理: 我們可以在應用程序級別安裝一個事件過…

工控人最愛的PLC觸摸屏一體機,有多香

PLC觸摸屏一體機是什么 PLC觸摸屏一體機,聽起來可能有點技術化,但簡單來說,它就是一個集成了可編程邏輯控制器(PLC)和觸摸屏的智能設備。這種設備不僅能夠執行自動化控制任務,還能實時顯示和操作設備狀態&a…

JVM原理(十九):JVM虛擬機內存模型

1. 硬件的效率與一致性 數據不安全的原因:緩存一致性的問題 共享內存多核系統:在多路處理器系統中,每個處理器都有自己的高速緩存,而他們又共享同一主內存。 線程先后執行結果不一致問題:除了增加高速緩存之外&#…

【Python】已解決:nltk.download(‘stopwords‘) 報錯問題

文章目錄 一、分析問題背景二、可能出錯的原因三、錯誤代碼示例四、正確代碼示例五、注意事項 已解決:nltk.download(‘stopwords’) 報錯問題 一、分析問題背景 在使用Python的自然語言處理庫NLTK(Natural Language Toolkit)時&#xff0c…

后端開發常見錯誤

1、解析json字符串要考慮格式不正確,空值情況 2、解析時間字符串要考虎格式和空值 3、使用mybatis的foreach的時候要考慮拼接sql的耗時,尤其是超過10條數據 4、表字段長度,在接口層校驗字段長度, 調用三方系統的報錯要截取報錯…

CentOS 7安裝Elasticsearch7.7.0和Kibana

一. 準備安裝包 elasticsearch和kibana:官網歷史版本找到并下載(https://www.elastic.co/cn/downloads/past-releases#elasticsearch)ik分詞器:GitHub下載(https://github.com/infinilabs/analysis-ik/releases/tag/v…

【大模型】衡量巨獸:解讀評估LLM性能的關鍵技術指標

衡量巨獸:解讀評估LLM性能的關鍵技術指標 引言一、困惑度:語言模型的試金石1.1 定義與原理1.2 計算公式1.3 應用與意義 二、BLEU 分數:翻譯質量的標尺2.1 定義與原理2.2 計算方法2.3 應用與意義 三、其他評估指標:綜合考量下的多元…

設計模式之狀態機模式

一、狀態機模式介紹 狀態機模式(State Machine Pattern)是一種用于描述對象行為的軟件設計模式,屬于行為型設計模式。在狀態機模式中,對象的行為取決于其內部狀態,并且在不同的狀態下,對象可能會有不同的行…

STM32F103C8T6核心板原理圖和PCB分享

PCB圖 原理圖 資料下載地址: 原理圖PCB庫: https://545c.com/d/45573183-61875742-29897c?p7526 (訪問密碼: 7526)

[go-zero] 簡單微服務調用

文章目錄 1.注意事項2.服務劃分及創建2.1 用戶微服務2.2 訂單微服務 3.啟動服務3.1 etcd 服務啟動3.2 微服務啟動3.3 測試訪問 1.注意事項 go-zero微服務的注冊中心默認使用的是Etcd。 本小節將以一個訂單服務調用用戶服務來簡單演示一下,其實訂單服務是api服務&a…

Java 使用sql查詢mongodb

在現代應用開發中,關系型數據庫和NoSQL數據庫各有千秋。MongoDB作為一種流行的NoSQL數據庫,以其靈活的文檔模型和強大的擴展能力,受到廣泛歡迎。然而,有時開發者可能更熟悉SQL查詢語法,或者需要在現有系統中復用SQL查詢…

【ARMv8/v9 GIC 系列 5.6 -- GIC 超優先級中斷詳細介紹】

請閱讀【ARM GICv3/v4 實戰學習 】 文章目錄 Interrupt superpriority超優先級中斷的特性和應用Physical interface interrupt signalsPhysical Group 1 Non-NMI for Current Security StatePhysical Group 1 for Other Security State, or a Group 0 Non-NMIPhysical Group 1 …

進程控制-wait和waitpid進程回收

wait 阻塞函數 函數作用: 1. 阻塞并等待子進程退出 2. 回收子進程殘留資源 3. 獲取子進程結束狀態(退出原因) pid_t wait(int *wstatus); 返回值: ‐1 : 回收失敗,已經沒有子進程了 >0 : 回收子進程對應的…

一種非凸全變差正則化的信號降噪方法(以模擬信號和軸承振動信號為例,MATLAB)

以旋轉機械振動信號為例,由于旋轉機械運行中背景噪聲較強,振動信號需要進行降噪處理。常用的小波閾值降噪會在信號的不連續處產生虛假的波峰和偽吉布森震蕩,而奇異值分解SVD去噪容易產生虛假分量,全變差去噪則不會出現這樣的情況&…