关于打包小程序部分的优化建议
一.使用自定义组件模式
在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的定时器操作界面来做动画