启动时性能优化
代码包体积优化,启动性能优化最直接的手段是降低代码包大小,代码包直接影响了下载耗时,影响用户启动小程序的体验。优化方式有二:1.图片资源网络化,将使用的大图改用网络加载方式。2. 启用分包,不必等待包大小超过2M再分包,将业务模块化,用户不常用的功能模块放在分包。
运行时性能优化
- 合理使用setData
逻辑层和视图层处于不同的线程,不能直接进行数据共享,需要进行数据的序列化、跨线程数据传输、数据的反序列化,因此数据传输过程是异步的、非实时的。
通过setData使得逻辑层虚拟DOM树的遍历和更新,将逻辑层的data改变,然后从逻辑层传输到视图层,视图层虚拟DOM树的更新、真实DOM元素的更新并触发页面渲染更新。
a. page中的data对象应只包含渲染相关的数据。如将不参与渲染的字段标记为纯数据字段即_b,或者放在data外。
b. 控制setData的频率。如仅在需要更新页面时调用setData,连续的setData调用尽可能的合并。
c. setData应只传发生变化的数据。如以数组路径的形式改变数组中的某一项或对象的属性。 - scroll 事件的监听要慎重,因为监听之后事件会以很高的频率从视图层发送到逻辑层,存在一定的通信开销。
- 控制图片资源的大小,避免滥用image组件的withFix/heightFix模式