小程序开发注意的坑
在目前小程序开发的时候我们需要注意的点:
1.小程序针对非空,undefined情况需要想好处理,避免出现任何 JavaScript 异常,导致页面白屏
2.合理控制图片的大小:图片太大会增加下载时间和内存的消耗,应根据显示区域的大小合理控制图片的大小
3.每次联调可以看后端请求接口的时间,所有请求的耗时不应该太久,请求耗时太长会让用户一直等待甚至离开,应当优化好服务器的处理时间。减小回包大小,让请求快速响应
(目前可能存在的坑:wx.request 在开发者工具上请求耗时没问题,但是进入真机之后,Time很短,但是WaterFall很长,尤其是在安卓机4g缓慢下)
4.避免短时间内发起太多的图片请求:短时间内发起太多图片请求会触发浏览器并行加载的限制,可能导致图片加载慢,用户一直处理等待。应该合理控制数量,可考虑使用雪碧图技术或在屏幕外的图片使用懒加载
5.避免短时间内发起太多的请求:短时间内发起太多请求会触发小程序并行请求数量的限制,同时太多请求也可能导致加载慢等问题,应合理控制请求数量,甚至做请求的合并等,目前小程序请求并发阈值为10个但是wx.connectSocket 的最大并发限制是5个[不过这个我们也没用过。。。。。]。
6.避免 setData 的数据过大,以及频繁的调用setData(!!!)由于小程序运行逻辑线程与渲染线程之上,setData的调用会把数据从逻辑层传到渲染层,数据太大会增加通信时间,这个是非常耗费性能的事情,所以可以如果有不得已的情况在短时间内频繁调用setData,考虑做防抖和节流
7.应让图片按原图宽高比例显示:图片若没有按原图宽高比例显示,可能导致图片歪曲,不美观,甚至导致用户识别困难。可根据情况设置 image 组件的 mode 属性,以保持原图宽高比
8.避免过大的 WXML 节点数目:建议一个页面使用少于 1000 个 WXML 节点,节点树深度少于 30 层,子节点数不大于 60 个。一个太大的 WXML 节点树会增加内存的使用,样式重排时间也会更长
9.避免将不可能被访问到的页面打包在小程序包里:小程序的包大小会影响加载时间,应该尽量控制包体积大小,避免将不会被使用的文件打包进去
10.避免使用 css ':active' 伪类来实现点击态:使用 css ':active' 伪类来实现点击态,很容易触发,并且滚动或滑动时点击态不会消失,体验较差
11.如果有滚动区域建议开启惯性滚动:惯性滚动会使滚动比较顺畅,在安卓下默认有惯性滚动,而在 iOS 下需要额外设置 -webkit-overflow-scrolling: touch
的样式
12.所有资源请求都建议使用 HTTPS(使用 HTTPS更加安全,HTTP 是明文传输的,存在可能被篡改内容的风险)
13.小程序中未使用的wxss的样式应该尽量去掉:我们应该按需引入 wxss 资源,如果小程序中存在大量未使用的样式,会增加小程序包体积大小,从而在一定程度上影响加载速度
14.如果是相同的图片的请求可以开启 HTTP 缓存控制后,下一次加载同样的图片,会直接从缓存读取,提升加载速度
15.如果页面中含有定时器,一定需要跟着页面进行回收,定时器是全局的,并不是跟页面绑定的,当页面因后退被销毁时,定时器应注意手动回收
转载于:https://www.jianshu.com/p/25f954e1d24f