神经元特异性烯醇化酶是什么意思| fd是什么意思| amass是什么牌子| 什么是领导| 屁股上长痘痘是什么情况| 优甲乐什么时候吃最好| ahc是什么牌子| 路由器坏了有什么症状| 韧带损伤有什么症状| 弟弟的老婆叫什么| 婴儿咳嗽用什么药| 社会抚养费是什么意思| 睡觉流鼻血是什么原因| 喉咙痛可以吃什么水果| 睡觉磨牙是什么原因| 沧海遗珠是什么意思| 脑瘫是什么意思| 十二指肠球部溃疡吃什么药| 93年属什么的| 小便有刺痛感什么原因| 起居是什么意思| 日加一笔变成什么字| 梦笔生花的意思是什么| 去医院验血挂什么科| 涩是什么意思| 用什么水和面烙饼最软| 香蕉有什么功效和作用| 青梅什么季节成熟| 梦见孕妇大肚子是什么意思| 反射弧太长是什么意思| 输血前八项指什么| 醋酸是什么面料| 宋字五行属什么| 虚病是什么意思| 什么是混合磨玻璃结节| 人授和试管有什么区别| 九头身什么意思| 什么是黄酒| 文爱是什么意思| 罗非鱼吃什么食物| 肝回声密集是什么意思| 更年期提前是什么症状| 沙眼衣原体是什么病| 第二性征是什么意思| 糖稀是什么| 血脂高吃什么好| 香精是什么东西| 下午1点是什么时辰| 桃园三结义是什么意思| 糖类抗原199偏高是什么原因| 茶白色是什么颜色| 为什么会手麻| 什么是早泄| 气血不足吃什么补得快| 什么止痛药最快止痛| 小肠与什么相表里| 感冒流鼻涕吃什么药好得快| 手上长水泡是什么原因| 大学硕士点是什么意思| 肆无忌惮是什么意思| 榴莲是什么味道| 头孢克肟和头孢拉定有什么区别| 什么叫腺样体肥大| 物欲横流是什么意思| 始于初见止于终老是什么意思| 敏使朗是什么药| 逍遥丸治什么| 羊冲什么生肖| mic是什么单位| 社会保险是什么意思| 来例假不能吃什么| 枸杞和红枣泡水喝有什么好处| 家庭教育是什么| 此刻朋友这杯酒最珍贵是什么歌| 尿里带血是什么原因男性| mpr是什么意思| 宜昌有什么特产| 脚肿是什么病的前兆| 多吃香蕉有什么好处和坏处| 虎是什么结构| 白细胞0是什么意思| 上梁不正下梁歪是什么意思| 举足轻重是什么意思| 仙人掌什么时候开花| 痛经吃什么止痛药| 血钾是什么意思| 热天不出汗是什么原因| 风吹动窗吹动夜声响是什么歌| hill什么意思| 五代十国是什么意思| 人参是什么参| 苏州有什么好玩的| 玛瑙五行属什么| 什么还珠成语| 血府逐瘀丸治什么病| 什么时候吃苹果最好| 宇宙之外还有什么| 冠心病做什么检查| 孕晚期缺铁对胎儿有什么影响| 1936年中国发生了什么| 带状疱疹是什么原因引起| 补气血吃什么最好| apc是什么意思| 秋葵吃多了有什么坏处| 胸疼挂什么科| 内急是什么意思| mect是什么意思| 嬉皮笑脸是什么生肖| 香菜什么时候种| 肚皮冰凉是什么原因呢| 是什么品牌| 鹌鹑蛋是什么动物的蛋| 电子商务有限公司是做什么的| 拼音的音序是什么| 什么病不能吃空心菜| 祖师爷是什么意思| 茉莉什么时候开花| 缺钾吃什么食物补得最快| 画是什么生肖| 词牌名什么意思| 淋巴肉为什么不能吃| 小排畸主要检查什么| 七月十六号是什么星座| 香草是什么| 耳仓为什么是臭的| 为什么会有乳腺结节| 为什么会得疣| 单身贵族什么意思| 咽喉炎有什么症状| MC是什么牌子的车| 6月份有什么节假日| 痛风能吃什么菜谱大全| 激素六项都是查什么| 颠覆三观是什么意思| 眼睛经常有眼屎是什么原因| 乾隆为什么长寿| 梦到死人了有什么兆头| lirs 是什么意思| rbp是什么意思| 脆肉鲩是什么鱼| 鄙视是什么意思| 3.13是什么星座| 天高云淡是什么季节| 鼻子冒热气是什么原因| 突然头晕是什么情况| 女人吃善存有什么好处| 偶尔头疼是什么原因| 全麻后需要注意什么| ube手术是什么意思| 尿酸高什么原因| 植物神经紊乱看什么科| 什么桂什么香| 痰湿体质吃什么中成药| 蓝精灵是什么意思| 必迈跑鞋什么档次| 收入是什么意思| 6点是什么时辰| 腋窝疼是什么原因| 什么东西燃烧脂肪最快| 菊花有什么作用| 小觑是什么意思| 西打酒是什么意思| jbp什么意思| 什么是夹角| 眼冒金星是什么原因| 口甲读什么| 很能睡觉是什么原因| 始祖鸟是什么鸟| 睡觉起来眼睛肿是什么原因| 心影增大是什么意思| 八月份是什么季节| 做什么检查确诊是白塞| 人流后可以吃什么水果| 鸭蛋不能和什么一起吃| 吃什么补血小板快| 击剑什么意思| 肝阴虚吃什么中成药| 什么是对称轴| 吃生姜有什么好处| 胎儿左心室强光点是什么意思| bv是什么意思| 彩礼什么时候给女方| 刘庄为什么要灭了阴家| 吃甘草片有什么副作用| 拉杆箱什么材质好| 高血压突然变成低血压是什么原因| 什么叫一桌餐| vlone是什么牌子| 部长是什么级别| 阴道口痒用什么药| gfr是什么意思| 感谢老师送什么花| 冰箱不制冷是什么问题| 优生十项是检查什么| jackie是什么意思| 脚发热是什么原因| 差强人意是什么意思| 苏字五行属什么| 兵员预征是什么意思| 买李世民是什么生肖| 世界上最软的东西是什么| 监制是干什么的| 难道是什么意思| 什么是甘油| 一直不来月经是什么原因| 结婚20周年属于什么婚| 气球是什么生肖| 卢字五行属什么| 大林木是什么生肖| stranger什么意思| 冤家路窄是什么生肖| 后年是什么年| 家里为什么有小飞虫| 打压什么意思| 芒果什么季节成熟| 子宫肌瘤是什么病严重吗| 君子什么意思| 天公作美是什么生肖| 人总放屁是什么原因| 一般手脚慢进什么工厂| 肌酐低是什么意思啊| 污蔑是什么意思| 守株待兔是什么生肖| 护照和签证有什么区别| 头发不干就睡觉有什么危害| 什么能让男人变大变长| 三元是什么意思| 李五行属性是什么| 竹子可以做什么玩具| 买单是什么意思| 局灶肠化是什么意思| 顾名思义的顾是什么意思| 捡什么废品最值钱| 颈椎引起的头晕是什么症状| 为什么要努力读书| 左氧氟沙星氯化钠注射作用是什么| 嗓子哑了吃什么药好| 终结者是什么意思| ns是什么单位| 鸟屎掉脸上有什么预兆| 什么减肥药最安全| ra是什么病的缩写| txt什么意思| 事例是什么意思| 什么东西最刮油减肥| 李子什么季节成熟| 董字五行属什么| 什么是海拔| 老年人适合喝什么牛奶| 胸口疼痛什么原因| 雌激素过高是什么原因造成的| 兰蔻是什么牌子| 夜明珠代表什么生肖| 月亮杯是什么东西| 国印贵人是什么意思| 金舆是什么意思| 蚂蝗长什么样| 什么叫基因检测| prada是什么牌子| 湛蓝湛蓝的什么| 属猪跟什么属相最配| 香菇炒什么菜好吃| s.m是什么意思| 月经期间不能吃什么| 百度

# 1. 小程序的生命周期

百度 据了解,宁夏睡眠医学中心成立一年以来,接诊3000人次,住院患者120余人。

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

小程序生命周期

# 1.1 小程序启动

从用户认知的角度看,广义的小程序启动可以分为两种情况,一种是冷启动,一种是热启动

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

从小程序生命周期的角度来看,我们一般讲的「启动」专指冷启动,热启动一般被称为后台切前台。

# 1.2 前台与后台

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

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

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

当用户再次进入微信并打开小程序,小程序又会重新进入「前台」状态。

# 1.3 挂起

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

当开发者使用了后台音乐播放后台地理位置等能力时,小程序可以在「后台」持续运行,不会进入到「挂起」状态

# 1.4 小程序销毁

如果用户很久没有使用小程序,或者系统资源紧张,小程序会被「销毁」,即完全终止运行。具体而言包括以下几种情形:

  • 当小程序进入后台并被「挂起」后,如果很长时间(目前是 30 分钟)都未再次进入前台,小程序会被销毁。
  • 当小程序占用系统资源过高,可能会被系统销毁或被微信客户端主动回收。
    • 在 iOS 上,当微信客户端在一定时间间隔内连续收到系统内存告警时,会根据一定的策略,主动销毁小程序,并提示用户 「运行内存不足,请重新打开该小程序」。具体策略会持续进行调整优化。
    • 建议小程序在必要时使用 wx.onMemoryWarning 监听内存告警事件,进行必要的内存清理。

基础库 1.1.0 及以上,1.4.0 以下版本: 当用户从扫一扫、转发等入口(场景值为1007, 1008, 1011, 1025)进入小程序,且没有置顶小程序的情况下退出,小程序会被销毁。

# 2. 小程序冷启动的页面

小程序冷启动时,打开的页面有以下情况

  • (A 类场景)若启动的场景中不带 path
    • 基础库 2.8.0 以下版本,进入首页
    • 基础库 2.8.0 及以上版本遵循「重新启动策略」,可能是首页或上次退出的页面
  • (B 类场景)若启动的场景中带有 path,则启动进入对应 path 的页面

# 2.1 重新启动策略

基础库 2.8.0 开始支持,低版本需做兼容处理

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

代码示例:

{
  "restartStrategy": "homePage"
}

restartStrategy 可选值:

可选值 含义
homePage (默认值)如果从这个页面退出小程序,下次将从首页冷启动
homePageAndLatestPage 如果从这个页面退出小程序,下次冷启动后立刻加载这个页面,页面的参数保持不变(不可用于 tab 页)

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

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

# 3. 小程序热启动的页面

小程序热启动时,打开的页面有以下情况

  • (A 类场景)若启动的场景中不带 path,则保留上次的浏览的状态
  • (B 类场景)若启动的场景中带有 path,则 reLaunch 到对应 path 的页面

A 类场景常见的有下列场景值

场景值ID 说明
1001 发现栏小程序主入口,「最近使用」列表(基础库2.2.4版本起包含「我的小程序」列表)
1003 星标小程序列表
1023 系统桌面小图标打开小程序
1038 从其他小程序返回小程序
1056 聊天顶部音乐播放器右上角菜单,打开小程序
1080 客服会话菜单小程序入口,打开小程序
1083 公众号会话菜单小程序入口 ,打开小程序(只有腾讯客服小程序有)
1089 聊天主界面下拉,打开小程序/微信聊天主界面下拉,「最近使用」栏(基础库2.2.4版本起包含「我的小程序」栏)
1090 长按小程序右上角菜单,打开小程序
1103 发现-小程序主入口我的小程序,打开小程序
1104 聊天主界面下拉,从我的小程序,打开小程序
1113 安卓手机负一屏,打开小程序
1114 安卓手机侧边栏,打开小程序
1117 后台运行小程序的管理页中,打开小程序

# 4. 退出状态

基础库 2.7.4 开始支持,低版本需做兼容处理

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

代码示例:

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

onSaveExitState 返回值可以包含两项:

字段名 类型 含义
data Any 需要保存的数据(只能是 JSON 兼容的数据)
expireTimeStamp Number 超时时刻,在这个时刻后,保存的数据保证一定被丢弃,默认为 (当前时刻 + 1 天)

一个更完整的示例:在开发者工具中预览效果

# 注意事项

  • 如果超过 expireTimeStamp ,保存的数据将被丢弃,且冷启动时不遵循 restartStrategy 的配置,而是直接从首页冷启动。
  • expireTimeStamp 有可能被自动提前,如微信客户端需要清理数据的时候。
  • 在小程序存活期间, onSaveExitState 可能会被多次调用,此时以最后一次的调用结果作为最终结果。
  • 在某些特殊情况下(如微信客户端直接被系统杀死),这个方法将不会被调用,下次冷启动也不遵循 restartStrategy 的配置,而是直接从首页冷启动。
怀孕分泌物是什么样的 上海居住证积分有什么用 eb病毒是什么病 1968属什么生肖 胃炎吃什么药效果最好
补充微量元素吃什么 国字脸适合什么发型 吐鲁番为什么那么热 墨鱼和鱿鱼有什么区别 抑制什么意思
草木皆兵的意思是什么 丹字五行属什么 手术刀口吃什么愈合快 吉祥物是什么生肖 什么是支原体感染
阴虚内热吃什么中成药 手掌很红是什么原因 drg什么意思 6月6日是什么日子 不加热血清反应素试验是什么
大腿外侧什么经络hcv8jop2ns6r.cn 手指缝痒是什么原因hcv8jop1ns2r.cn 无名指是什么经络jasonfriends.com 冷战的男人是什么心理hcv8jop0ns9r.cn 朝霞什么晚霞什么hcv8jop1ns6r.cn
左肺上叶纤维灶是什么意思hcv7jop7ns4r.cn 327是什么星座tiangongnft.com 黑脸代表什么hcv8jop1ns6r.cn 做飞机需要注意什么hcv8jop3ns7r.cn 吃中药能吃什么水果hcv9jop6ns9r.cn
什么是非处方药shenchushe.com 带状疱疹什么引起的hcv9jop0ns0r.cn 回乳是什么意思hcv9jop0ns0r.cn 莫名其妙什么意思hcv9jop3ns7r.cn 气场强大是什么意思hcv8jop2ns2r.cn
靶点是什么意思hcv8jop2ns1r.cn 无菌性前列腺炎吃什么药效果好hcv8jop4ns4r.cn 长高吃什么钙片hcv7jop9ns5r.cn 头皮屑结块是什么原因hcv8jop2ns3r.cn 血脂高吃什么好hcv8jop7ns7r.cn
百度