uni-app笔记---优化建议

本文提供了一套全面的小程序性能优化方案,包括使用自定义组件模式、优化大图资源处理、改进长列表渲染、减少一次性渲染节点数量、简化节点嵌套及避免频繁通讯等策略,旨在提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于打包小程序部分的优化建议

一.使用自定义组件模式

在manifest中配置自定义组件模式(HBuilderX1.9起新建项目默认即为自定义组件模式)

 

二.大图资源

页面中若大量使用大图资源,会造成页面切换的卡顿,导致系统内存升高,甚至白屏崩溃(比如上传图片前选了数张几M体积的照片,然后缩小在一个屏幕中展示多张几M的大图,非常容易白屏崩溃)

 

三.长列表

1.每个item如果有单独改变的地方(比如点赞按钮),必须是一个单独引用的组件,才能做到差量数据更新,否则会造成整个列表重载;

2.如果不存在差量更新某一行item的行为,则不应该引入大量组件

3.如果需要实现左右滑动的长列表,请在HBuilder新建uniapp项目选新闻模板,作为demo

 

四.减少一次性渲染的节点数量

逻辑层如果一次性向视图层传递很多数据,使视图层一次性渲染大量节点,可能造成通讯变慢,页面切换卡顿,所以建议局部更新页面的方式渲染页面(比如服务端一次性返回100条数据,可以分批加载,一次加载50条,500ms后进行下一次加载)

 

五.减少节点嵌套

深层嵌套的节点在页面初始化构建时往往需要更多的内存占用,并且在遍历节点时也会更慢

 

六.避免视图层和逻辑层频繁进行通讯

1.减少scroll-view组件scroll事件的监听

2.监听scroll-view组件的滚动事件时,不要实时的改变scroll-top/scroll-left属性,因为会重复通讯

3.注意onPageScroll的使用,onPageScroll进行监听时,视图层会频繁的向逻辑层发送数据

多使用css动画,而不是通过js的定时器操作界面来做动画

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值