位置: IT常识 - 正文

微信小程序的【运行机制】解读(微信小程序的视频怎么下载)

编辑:rootadmin
微信小程序的【运行机制】解读 文章目录导语1.微信小程序的运行流程1.1 微信小程序的启动模式1.2 前台与后台的概念1.3 挂起1.4 微信小程序的销毁2.微信小程序冷启动的页面2.1从新启动策略3.微信小程序热启动页面4. 退出状态注意点补充总结

推荐整理分享微信小程序的【运行机制】解读(微信小程序的视频怎么下载),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信小程序的权限管理在哪里,微信小程序的游戏怎么能彻底删除,微信小程序的实名认证怎么解绑,微信小程序的实名认证怎么解绑,微信小程序的游戏怎么关闭永不使用,微信小程序的需求分析,微信小程序的游戏怎么能彻底删除,微信小程序的游戏怎么关闭永不使用,内容如对您有帮助,希望把文章链接给更多的朋友!

导语

前面我们有章节给大家讲到了,微信小程序的生命周期钩子函数,那么大家知道,这些不同的生命周期函数,是在什么样的操作运行模式下触发的吗?本章节就给大家整理了有关于 微信小程序 的操作运行机制,以便于对后面微信小程序的开发理解。

1.微信小程序的运行流程

微信小程序从启动到最终被销毁,会经历很多不同的状态,小程序在不同状态下会有不同的表现形式。

运行流程图例:

1.1 微信小程序的启动模式

从广泛意义上来说,微信小程序的启动模式可以被分为两种状态,一种是 冷启动 ,另一种为 热启动,那么对于这两种启动模式的区别又是什么呢?

从系统的运行的模式上,可以被区分为以下两种模式:

冷启动:如果用户是首次打开小程序,或者小程序被完全销毁后被用户再次打开,此时的小程序需要重新加载启动,就叫做冷启动。热启动:如果用户已经打开过小程序了,然后在一定时间内再次打开该小程序,此时小程序并未被完全销毁,只是从后台状态进入前台状态,这个过程就是热启动。

从小程序的生命周期函数触发的角度来看,我们一般所说的 启动,专指为冷启动,热启动 一般被称为 后台切换为前台。

1.2 前台与后台的概念

小程序启动后,界面被展示出来给用户呈现后,此时小程序处于「前台」状态。

当用户「关闭」小程序时,小程序其实并没有真正被关闭,而是进入了「后台」状态,此时小程序还可以短暂运行一小段时间,但部分 API 的使用会受到限制。切入后台的方式包括但不限于以下几种:

点击右上角胶囊按钮离开小程序iOS 从屏幕左侧右滑离开小程序安卓点击返回键离开小程序小程序前台运行时直接把微信切后台(手势或 Home 键)小程序前台运行时直接锁屏

以上几种的操作触发时,一定时间内,小程序均未完全被退出。当用户再次进入微信并打开小程序,小程序又会重新进入「前台」状态。

1.3 挂起

小程序进入「后台」状态一段时间后(目前是 5 秒),微信会停止对小程序 JS 线程的执行,小程序则会进入「挂起」状态。而此时小程序的内存状态依然会被保留,但开发者代码的执行会停止,事件和接口回调会在小程序再次进入「前台」时触发。

1.4 微信小程序的销毁微信小程序的【运行机制】解读(微信小程序的视频怎么下载)

当用户长时间未使用小程序时,或者系统资源紧张,小程序会被 完全「销毁」,即完全终止运行。具体而言包括以下几种情形:

当小程序进入后台并被「挂起」后,如果很长时间(目前是 30 分钟)都未再次进入前台,小程序会被销毁。由于底层系统机制原因,当小程序占用系统资源过高,也可能会被系统销毁或被微信客户端主动回收。2.微信小程序冷启动的页面

当微信小程序执行冷启动时,打开的页面有以下情况:

(A 类场景)若启动的场景中不带 指定页面路径:

基础库 2.8.0 以下版本,在冷启动时默认直接进入首页。

基础库 2.8.0 及以上版本遵循「重新启动策略」,可能是首页或上次退出的页面。

(B 类场景)若启动的场景中带有 指定页面路径,则启动会进入对应 指定页面路径的页面。

2.1从新启动策略

当小程序冷启动时,如果启动时不带 path(A 类场景),默认情况下将会进入小程序的首页。 在页面对应的 json 文件中(也可以全局配置在 app.json 的 window 段中),指定 restartStrategy 配置项可以改变这个默认的行为,使得从某个页面退出后,下次 A 类场景的冷启动可以回到这个页面。

例:

{ "restartStrategy": "homePage"}

注意: 即使不配置为 homePage ,微信小程序如果退出过久(当前默认一天时间,可以使用退出状态来调整),下次冷启动时也将不再遵循 restartStrategy 的配置,而是直接从首页冷启动。

当完全退出时,页面中的状态并不会被保留,如输入框中的文本内容、 checkbox 的勾选状态等都不会还原。如果需要还原或部分还原,需要利用退出状态。

3.微信小程序热启动页面

当微信小程序执行 热启动时,打开的页面也有以下情况:

(A 类场景)若启动的场景中不带 指定页面路径,则保留上次的浏览的状态(B 类场景)若启动的场景中带有 指定页面路径,则会直接加载到对应 路径的页面

A 类场景有以下一些能被触发的场景:

4. 退出状态

每当微信小程序可能被销毁之前,页面回调函数 onSaveExitState 会被触发。如果想保留页面中的状态,可以在这个回调函数中“保存”一些数据,下次启动时可以从新获得这些已保存数据。

{ "restartStrategy": "homePageAndLatestPage"}Page({ onLoad() { var prevExitState = this.exitState // 尝试获得上一次退出前 onSaveExitState 保存的数据 if (prevExitState !== undefined) { // 如果是根据 restartStrategy 配置进行的冷启动,就可以获取到 prevExitState.myDataField === '上一次保存的数据' } }, onSaveExitState() { let exitState = { myDataField: '上一次保存的数据' } // 需要保存的数据 return { data: exitState, expireTimeStamp: Date.now() + 24 * 60 * 60 * 1000 // 超时时刻 } }})

onSaveExitState 返回值可以包含两项:

注意点补充如果超过 expireTimeStamp 所设置的时间范围 ,那么保存的数据将被丢弃,并且冷启动时不遵循 restartStrategy 的配置,而是直接从首页冷启动。expireTimeStamp 有可能被自动提前,如微信客户端需要清理数据的时候。在小程序存活期间, onSaveExitState 可能会被多次调用,此时以最后一次的调用结果作为最终结果。在某些特殊情况下(如微信客户端直接被系统杀死,或系统出现异常,强制性终止微信客户端运行环境),这个方法将不会被调用,下次冷启动也不遵循 restartStrategy 的配置,而是直接从首页冷启动。总结

上述内容,是我结合官方文档梳理的内容,讲述了整个微信小程序的运行流程模式,以及在不同的业务操作下,将执行不同的运行机制。

🚵‍♂️ 博主座右铭:向阳而生,我还在路上! —————————————————————————————— 🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步! —————————————————————————————— 🤼‍♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】 ——————————————————————————————

本文链接地址:https://www.jiuchutong.com/zhishi/295312.html 转载请保留说明!

上一篇:Nginx超时配置(nginx连接超时时间设置多少)

下一篇:前端技术搭建贪吃蛇小游戏(内含源码)(前端搭建项目)

  • 苹果13promax有粉色吗(苹果13promax有粉红色吗)

    苹果13promax有粉色吗(苹果13promax有粉红色吗)

  • 小米11支持n28频段吗(小米11支持哪些5g频段)

    小米11支持n28频段吗(小米11支持哪些5g频段)

  • iphone12有几个扬声器呢(ip12几个扬声器)

    iphone12有几个扬声器呢(ip12几个扬声器)

  • 华为nova5i和nova5ipro参数对比(华为nova5i和nova5ipro的区别)

    华为nova5i和nova5ipro参数对比(华为nova5i和nova5ipro的区别)

  • LJ2400pro硒鼓清零(联想lj2400pro硒鼓清零)

    LJ2400pro硒鼓清零(联想lj2400pro硒鼓清零)

  • 快手里的粉丝拉黑了,对方知道吗(快手粉丝拉黑怎么拉回来)

    快手里的粉丝拉黑了,对方知道吗(快手粉丝拉黑怎么拉回来)

  • 你的硬件设置已更改,请重启计算机(你的硬件设置已更改,请重启计算机 卡住)

    你的硬件设置已更改,请重启计算机(你的硬件设置已更改,请重启计算机 卡住)

  • 抖音点赞限制数量(抖音点赞限量怎么办)

    抖音点赞限制数量(抖音点赞限量怎么办)

  • bm30断路器是什么牌子(bm63断路器)

    bm30断路器是什么牌子(bm63断路器)

  • ios11什么时候出的(苹果11什么时候出版)

    ios11什么时候出的(苹果11什么时候出版)

  • 佳能打印机显示e05该怎么解决(佳能打印机显示e04该怎么解决)

    佳能打印机显示e05该怎么解决(佳能打印机显示e04该怎么解决)

  • 一个身份证号可以开通几个快手直播(一个身份证号可以绑定几个微信号)

    一个身份证号可以开通几个快手直播(一个身份证号可以绑定几个微信号)

  • i3 6100性能相当于(i3 6100t性能)

    i3 6100性能相当于(i3 6100t性能)

  • ipad a1432是啥型号(ipad a1432是什么型号)

    ipad a1432是啥型号(ipad a1432是什么型号)

  • u盘有病毒插上电脑会感染吗(u盘有病毒插上电脑,微信会被盗吗)

    u盘有病毒插上电脑会感染吗(u盘有病毒插上电脑,微信会被盗吗)

  • word怎么把标记区删除(word怎么把标记区弄掉)

    word怎么把标记区删除(word怎么把标记区弄掉)

  • 苹果8plus128g是什么基带(iphone8plus128g够用吗)

    苹果8plus128g是什么基带(iphone8plus128g够用吗)

  • windows7系统的常用附件(windows7基本操作有哪些)

    windows7系统的常用附件(windows7基本操作有哪些)

  • 手机如何用OTG转换器导入mp3(手机如何用OTG转换器导入图片)

    手机如何用OTG转换器导入mp3(手机如何用OTG转换器导入图片)

  • 华为荣耀屏幕去除圆圈(华为荣耀手机屏幕有个小点怎么取消)

    华为荣耀屏幕去除圆圈(华为荣耀手机屏幕有个小点怎么取消)

  • 淘宝店铺关闭了售后怎么办(淘宝店铺关闭了退货要寄回吗)

    淘宝店铺关闭了售后怎么办(淘宝店铺关闭了退货要寄回吗)

  • 运算器有哪几部分组成(运算器有哪几部组成)

    运算器有哪几部分组成(运算器有哪几部组成)

  • 微信团队是什么意思(微信团队是什么组织)

    微信团队是什么意思(微信团队是什么组织)

  • ip报头的目的地址表示的是什么(ip报头的目的地址)

    ip报头的目的地址表示的是什么(ip报头的目的地址)

  • 锤子一共出了几款手机(锤子几p)

    锤子一共出了几款手机(锤子几p)

  • 手机碎片整理在哪里(手机碎片整理app)

    手机碎片整理在哪里(手机碎片整理app)

  • 耳机话筒坏了怎么修(耳机话筒坏了其余都好着)

    耳机话筒坏了怎么修(耳机话筒坏了其余都好着)

  • 小米6如何连接电脑传文件(小米6如何连接苹果手机)

    小米6如何连接电脑传文件(小米6如何连接苹果手机)

  • 苹果手机取消订阅服务在哪里(苹果手机取消订阅是不是就不会扣费了)

    苹果手机取消订阅服务在哪里(苹果手机取消订阅是不是就不会扣费了)

  • 搜狗输入法如何打出罗马数字(搜狗输入法如何关闭键盘声音)

    搜狗输入法如何打出罗马数字(搜狗输入法如何关闭键盘声音)

  • 预收三年租金 房产税怎么算
  • 金税四期对企业的风险
  • 合伙企业可以列入股东吗
  • 母子公司往来明细账正反面都可以写吗
  • 融资租赁租金会计科目
  • 企业所得税扣除凭证
  • 全额计提坏账符合的条件
  • 拿到一个材料如何加工
  • 如何计算企业当年利润
  • 贸易公司给客户开发票
  • 专票可以当费用票吗
  • 个体工商户税收怎么算
  • 二手房房产税税率
  • 对公人民币转账、汇款(含退汇)分录
  • 垫付按揭保证金怎么做账
  • 和别人合作投资后悔了怎么说
  • 合同负债属于什么费用
  • 夫妻房产分割哪家好
  • 从租计征的房产税需要缴纳土地使用税吗
  • bios设置启动顺序(图解说明)
  • 物业公司给业主的生日祝福
  • vmware10虚拟机安装
  • 电脑自我诊断
  • 清理c盘清理
  • Win11 Build 22449.1000更新里哪些内容?Win11 Build 22449更新介绍与安装方法
  • windows11激活密钥多少钱
  • createsystem
  • ie浏览器进程
  • 公司私户利息收入怎么算
  • 只有收据没有发票可以保修吗
  • PHP:oci_field_name()的用法_Oracle函数
  • fatal error: opencv/cv.h: 没有那个文件或目录 错误;fatal error: opencv2/contrib/contrib.hpp: 没有那个文件或目录,opencv多版本
  • php的数据类型主要有哪几种
  • 营改增后固定资产报废处置收入计税
  • 怎么检查当年的核酸结果
  • 小米路由器青春版r1cl参数
  • Mont Choisy Beach, Mauritius (© Robert Harding World Imagery/Offset by Shutterstock)
  • 办公用品属于会计科目中的什么
  • php提供的字符串函数
  • 计算机专业的毕业设计作品新颖
  • java enum tostring
  • 境外企业在境内投资是否备案
  • 商贸公司库存商品怎么做分录
  • 资产总额不超过5000万是指全年平均收入吗
  • 抵扣联怎么抵扣使用
  • 税法中减除和减退的区别
  • 印花税会计处理办法
  • 库存股增加记哪一方
  • 税务师报名条件和要求
  • 劳务费怎么做会计科目
  • 车间管理人员的福利费计入什么科目
  • 纸巾的发票可以抵扣进项税吗
  • 财务费用利息收入怎么记账
  • 工业企业应付会计工作内容
  • sql刷新快捷键
  • win7怎么操作
  • win8截屏在哪个文件夹
  • xp系统个性化
  • mac电脑打开safari
  • Win10 Mobile Build 10586.29更新内容大全:修复多项问题
  • 电脑如何将win10设置为win7
  • win10怎么用cmd删除文件
  • mongo 安装
  • 安卓游戏引擎
  • XMLHttpRequest Level 2 使用指南
  • win10 putty
  • 改变图片透明度怎么调
  • 表单元素的基本语法
  • 用jquery制作网页
  • JavaScript中常用的数据类型有
  • 深入理解两个大计重要论断心得体会
  • jquery遍历数组的方法
  • ajax支持浏览器back按钮吗
  • 营改增之前建筑业税率是多少
  • 发票查验结果不一致的原因有哪些
  • 河南地方税务局税收征管档案管理办法(试行)
  • 怎么算税额和单位税额
  • 12366是哪里的税务局
  • 用于直接销售消费品的消费税计入
  • 国税总局17号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设