微信小程序启动是微信小程序用户体验中极为重要的一环,启动耗时过长会造成微信小程序用户流失,影响用户体验。
本章节的「启动」特指微信小程序冷启动,不包括微信小程序后台切前台的热启动。关于冷/热启动的定义,请参考微信小程序运行机制
1. 微信小程序启动的定义
微信小程序的启动过程以「用户打开微信小程序」为起点,到微信小程序「首页渲染完成」为止。
「用户打开微信小程序」可能是由用户点击访问触发,也可能通过扫码、微信小程序跳微信小程序或 APP 打开微信小程序等入口触发。从扫码、APP 等场景打开微信小程序时,可能会有前置的跳转和校验流程,不包含在微信小程序启动流程的讨论范围之内。
微信小程序「首页渲染完成」的标志是首个页面 Page.onReady 事件触发。由于启动流程的差异,微信小程序定义的「首页渲染完成」不等同于浏览器的 DOMContentLoaded 或 load 事件。
要了解微信小程序启动的具体流程,请参考《微信小程序启动流程》章节的介绍。
2. 打开率/到达率
微信小程序「首页渲染完成」次数与「微信小程序启动」次数的比值也被称为(PV)打开率或(PV)到达率。与之对应的 流失率 = 1 - 打开率。
打开率受到下列因素影响:
- 启动性能:启动耗时越长,白屏时间越久,用户越可能因为失去耐心而退出微信小程序,打开率也会越低;
- 用户等待意愿:用户等待意愿越强,等待时间也会更久,在启动耗时一致的情况下,打开率也会越高。用户等待意愿与使用微信小程序的场景有关,例如:
- 扫码、搜索等用户目的性较强的场景,通常等待意愿也更强;
- 广告类的场景下,用户等待意愿较低,要获得较高的打开率,启动性能优化会更加有必要。