微信小程序性能与体验优化

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.mfbz.cn/a/768747.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

02:vim的使用和权限管控

vim的使用 1、vim基础使用1.1、vim pathname 2、vim高级用法2.1、查找2.2、设置显示行号2.3、快速切换行2.4、 行删除2.5、行复制粘贴 3、权限管理3.1、普通用户和特权用户3.2、文件权限表示 vim是Linux中的一种编辑器,类似于window中的记事本,可以对创建…

TP8/6 更改后台入口地址admin改为myadmin 隐藏真实后台网址

原来www.xxx.com/admin 改后www.xxx.com/myadmin config/app.php // 应用映射(自动多应用模式有效)app_map > [admintest>admin],

【前端VUE】VUE3第一节—vite创建vue3工程

什么是VUE Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0…

卷积层里的填充和步幅

一、定义 1、对于卷积,我们另一个超参数是核的大小,通常使用的卷积核是33或者55,很少用偶数核 2、填充是为了让输出不变或者变大,是为了在输入不太大,又能使模型足够深的情况下使用 3、填充:在输入周围添…

开源软件开发平台哪家好?

进行数字化转型,离不开低代码技术平台等软件产品的加持与助力。因为它更好操作、更灵活、易维护等优势特点突出,在推动企业实现流程化办公的过程中助力明显,作用大,深得客户喜爱。那么,低代码技术平台、开源软件开发平…

居然这么简单就能实现扫雷游戏!

目录 一.思路 1.成果展示 2.思路 二.具体操作 1.创建"棋盘" 2.初始化雷 3.布置雷 4.打印 5.排除雷 三.代码实现 1.test.c文件 2.thunder.h文件 3.thunder.c文件 Hello,大家好,今天我们来实现扫雷游戏,希望这一篇博客能给带给大家一…

HCIA是什么等级的证书

HCIA是华为认证体系中的初级认证,主要用于表明持有者在某一技术领域达到了工程师级别的能力证明。这种认证主要涉及到ICT(信息技术基础设施与通信)设备的安装、配置、运行以及故障排除等方面。 HCIA证书的作用 HCIA证书是进入IT行业的一个初步资格证书,它…

昇思25天学习打卡营第6天|数据变换 Transforms

学习目标:熟练掌握数据变换操作 熟悉mindspore.dataset.transforms接口 实践掌握常用变换 昇思大模型平台学习心得记录: 一、关于mindspore.dataset.transforms 1.1 变换 mindspore.dataset.transforms.Compose将多个数据增强操作组合使用。 mindspo…

【Java】如果让你设计一个分布式链路跟踪系统?你怎么做?

一、问题解析 分布式链路跟踪服务属于写多读少的服务,是我们线上排查问题的重要支撑。我经历过的一个系统,同时支持着多条业务线,实际用上的服务器有两百台左右,这种量级的系统想排查故障,难度可想而知。 因此&#…

Linux文件传输

目录 wget传输 先用我的云服务器vps开放一个端口 目标机wget进行请求下载 指定保存路径 curl传输(win11也有) ​Netcat传输 文件传输 SFTP传输 连接远程主机 下载远程主机文件 DNS传输 dns带出字符数据命令 拼接hex码进行转字符串 成功转出​…

WIN32核心编程 - 数据类型 错误处理 字符处理

公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 数据类型 基本数据类型 Win32基本数据类型 错误处理 C语言中的错误处理 C中的错误处理 Win32中的错误处理 字符处理 C/C WIN32 字符处理 数据类型 基本数据类型 C/C语言定义了一系列…

umi项目中的一些趣事

前言 出于某些安全问题,需要把HTML中框架注入的umi版本信息去掉,那要怎么搞呢~ 方案 查找官方文档,没发现可以去掉注入信息的方法,但在一番折腾后😉终究还是解决了~ 发现 版本信息是从这里注入的~ Object.define…

uboo对内存操作读写命令的基本使用

内存操作命令 直接对DRAM进行读写的操作,uboot常用的内存操作命令有md,nm,mm,mw,cp和cmp. md命令: 显示内存值 # md md - memory display Usage: md [.b, .w, .l, .q] address [# of objects] b:1个字节 byte w:2个字节 world l:4个字节 long of objects 以word 为单位的1…

人工智能--图像语义分割

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏:专业知识 ​ 文章目录 🍉引言 🍉介绍 🍈工作原理 🍍数据准备 🍍特征提取 🍍像素分…

实习总结 --- 其他业务

一. 回归测试:回归测试与测新是对应的,当需求准入交付测试的时候首先要进行的就是测新,也就是对新功能对测试,一般是在sim环境下测试的;当测新通过后才会进行回归测试,回归测试的目的是为了保证老功能的正确…

人工智能 (AI) 基本概念 入门篇【C#】版

1. 什么是人工智能? 人工智能(Artificial Intelligence, AI)是指计算机系统能够执行通常需要人类智能的任务,如视觉识别、语音识别、决策和语言翻译等。AI的核心是通过算法和数据进行学习和推理,以实现智能行为。 2.…

2.3.2 主程序和外部IO交互 (文件映射方式)----IO Client实现

2.3.2 主程序和外部IO交互 (文件映射方式)----IO Client C实现 和IOServer主要差别: 1 使用Open_Client 连接 2 一定要先打开IOServer,再打开IO_Client 效果显示 1 C 代码实现 1.1 shareddataClient.h 头文件中引用 和sharedd…

PTA-线性表实验(JAVA)

题目1:Josephus环的问题及算法 【实验内容】 编程实现如下功能: 题意说明:古代某法官要判决n个犯人的死刑,他有一条荒唐的法律,将犯人站成一个圆圈,从第start个犯人开始数起,每数到第distance的…

Redis基础教程(一):redis配置

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

信息安全体系架构设计

对信息系统的安全需求是任何单一安全技术都无法解决的,要设计一个信息安全体系架构,应当选择合适的安全体系结构模型。信息系统安全设计重点考虑两个方面;其一是系统安全保障体系;其二是信息安全体系架构。 1.系统安全保障体系 安…