小程序生命周期(非页面)在热启动和冷启动时的执行机制是怎样的?
发布于 8 年前 作者 dujing 9420 次浏览 来自 问答

想了解小程序生命周期(非页面)在热启动和冷启动时的执行机制是怎样的,以及在执行过程中获取的用户场景值是否有变化?

想实现的场景:如果是冷启动时,就从onlaunch中采集场景值,然后再页面onshow时上报;如果是热启动,就保持本次冷启动中onlaunch获取的场景值,然后再页面onshow时上报。在下一次冷启动时再采集新的场景值。请求各位大神可以实现吗?

1 回复

总结你的实现:获取此次小程序启动的场景值并提交。

首先明确在哪里可以取到场景值,有两个地方:1、onlaunch,2、onshow。两个地方都是在app.js,也就是小程序冷启动时,热启动时是不会重新编译app.js的,就连切回来后的页面(page)也不会重新编辑,只是从后台切到前台展示,这时仅onshow会触发。两个小程序的生命周期函数执行顺序onlaunch->onshow,在哪取场景值都可以,个人建议从onshow中。

取到场景值后,存到全局里或者缓存都可以,全局可以访问,想在哪里提交就看你的了。

想详细的了解小程序的两种启动方式:https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html

回到顶部