⼩程序启动会常常遇到如下图场景:
这是因为,⼩程序⾸次启动前,微信会在⼩程序启动前为⼩程序准备好通⽤的运⾏环境,如运⾏中的线程和⼀些基础库的初始化
然后才开始进⼊启动状态,展⽰⼀个固定的启动界⾯,界⾯内包含⼩程序的图标、名称和加载提⽰图标。此时,微信会在背后完成⼏项⼯作:
下载到的⼩程序代码包不是⼩程序的源代码,⽽是编译、压缩、打包之后的代码包
整体流程如下图:
围绕上图⼩程序的启动流程, 我们可以从加载、渲染两个纬度进⾏切⼊:
提升体验最直接的⽅法是控制⼩程序包的⼤⼩,常⻅⼿段有如下:
并且可以采取分包加载的操作,将⽤⼾访问率⾼的⻚⾯放在主包⾥,将访问率低的⻚⾯放⼊⼦包⾥,按需加载
当⽤⼾点击到⼦包的⽬录时,还是有⼀个代码包下载的过程,这会感觉到明显的卡顿,所以⼦包也不建议拆的太⼤,当然我们可以采⽤⼦包预加载技术,并不需要等到⽤⼾点击到⼦包⻚⾯后在下载⼦包
关于微信⼩程序⾸屏渲染优化的⼿段如下:
在微信⼩程序中,提⾼⻚⾯的多次渲染效率主要在于正确使⽤ setData :
除此之外,对于⼀些独⽴的模块我们尽可能抽离出来,这是因为⾃定义组件的更新并不会影响⻚⾯上其他元素的更新
各个组件也将具有各⾃独⽴的逻辑空间。每个组件都分别拥有⾃⼰的独⽴的数据、 setData 调⽤
⼩程序启动加载性能:
⼩程序渲染性能: