写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决。小助君公众号带你学习小程序的生命周期和运行原理。

小程序由两大线程组成:负责界面的线程(view thread)和服务线程(appservice thread),各司其职由互相配合

小程序的生命周期借鉴了Android的生命周期,如果你了解过Android的APP开发,那么理解小程序的就会很简单。

界面线程有四大状态:
1. 初始化状态:初始化界面线程所需要的工作,包括工作机制,基本和我们开发者没有关系,等初始化完毕就向 “服务线程”发送初始化完毕信号,然后进入等待传回初始化数据状态。

2.首次渲染状态:收到“服务线程”发来的初始化数据后(就是 json和js中的data数据),就开始渲染小程序界面,渲染完毕后,发送“首次渲染完毕信号”给服务线程,并将页面展示给用户。

3.持续渲染状态:此时界面线程继续一直等待“服务线程”通过this.setdata()函数发送来的界面数据,只要收到就重新局部渲染,也因此只要更新数据并发送信号,界面就自动更新。

4.结束状态:你懂得。

服务线程五大状态:
1 初始化状态:无需和其他模块交流,跟小程序开发也没多大关联,此阶段就是启动服务线程所需的基本功能,比如信号发送模块。系统的初始化工作完毕,就调用自定义的onload和onshow,
然后等待界面线程的“界面线程初始化完成”信号。
onload是只会首次渲染的时候执行一次,onshow是每次界面切换都会执行,简单理解,这就是唯一差别。

2 等待激活状态:接收到“界面线程初始化完成”信号后,将初始化数据发送给“界面线程”,等待界面线程完成初次渲染。

3.激活状态:收到界面线程发送来的“首次渲染完成”信号后,就进入激活状态既程序的正常运行状态,并调用自定义的onReady()函数。
此状态下就可以通过 this.setData 函数发送界面数据给界面线程进行局部渲染,更新页面。

4.后台运行状态:如果界面进入后台,服务线程就进入后台运行状态,从目前的官方解读来说,这个状态挺奇怪的,和激活状态是相同的,也可以通过setdata函数更新界面的。毕竟小程序的框架刚推出,应该后续会有很大不同吧。

“小助君公众号”是帮助大家运营公众号的公众号,欢迎大家来交流小程序和公众号运营。

教你理解微信小程序的生命周期和运行原理相关推荐

  1. 微信小程序 全局变量异步函数_微信小程序【生命周期】

    小程序分为应用.页面和组件三个部分,所以小程序的生命周期涉及以下 应用的生命周期 页面的生命周期 组件的声明周期 应用的生命周期对页面生命周期的影响 应用的生命周期 App() 函数用来注册一个小程序 ...

  2. 微信小程序:生命周期

    下面从三个方面来介绍小程序的生命周期: (1)应用生命周期 (2)页面生命周期 (3)应用及页面生命周期的触发顺序 1.应用生命周期 App() 必须在 app.js 中调用,必须调用且只能调用一次, ...

  3. 微信小程序的生命周期总结

    什么是生命周期? 生命周期 就是指一个对象的生老病死. 从软件的角度来看,生命周期指程序从创建.到开始.暂停.唤起.停止.卸载的过程. 下面从三个方面来介绍小程序的生命周期: (1)应用生命周期 (2 ...

  4. 微信小程序应用生命周期

    完整微信小程序(Java后端) 技术贴目录清单页面(必看) App(Object object) 注册小程序.接受一个 Object 参数,其指定小程序的生命周期回调等. App() 必须在 app. ...

  5. 微信小程序【生命周期】

    应用的生命周期 页面的生命周期 组件的生命周期 应用的生命周期对页面生命周期的影响 小程序分为应用.页面和组件三个部分,所以小程序的生命周期涉及以下 应用的生命周期 页面的生命周期 组件的声明周期 应 ...

  6. 微信小程序 | 12.生命周期、globalData全局数据

    文章目录 1.小程序的生命周期 2.全局数据globalData 3.globalData的应用 3.1.搭配app.js的onLaunch()存储openid 3.2.轮询globalData 3. ...

  7. 微信小程序的生命周期详解

    文章目录 一.应用生命周期(App) 二.页面生命周期(page) 三.应用生命周期和页面生命周期 四.路由变化对页面生命周期的影响 一.应用生命周期(App) App()函数用来注册一个小程序.接受 ...

  8. 【微信小程序】生命周期

    1.1.什么是生命周期 生命周期(Life Cycle)是指一个对象从创建 => 运行 => 销毁的整个阶段,强调的是一个时间段. 小程序的启动,表示生命周期的开始 小程序的结束,表示生命 ...

  9. 微信小程序之生命周期

    生命周期是什么 我们可以把每个小程序运行的过程,概括为生命周期: 1. 小程序的启动,表示生命周期的开始 2. 小程序的关闭,表示生命周期的结束 3. 中间小程序运行的过程,就是小程序的生命周期 生命 ...

最新文章

  1. 基于Swoole和Redis实现的并发队列处理系统
  2. python 获取文件大小,创建时间和访问时间
  3. SAP C4C里前台Opportunity搜索的响应明细
  4. 原生JS封装ajax以及request
  5. anaconda虚拟环境python升级_使用Anaconda虚拟环境管理Python版本
  6. FISCO BCOS Solidity 智能合约 接收数组参数
  7. 如何用纯 CSS 创作一个 3D 文字跑马灯特效
  8. python简明教程3.0_Python 简明教程 --- 0,前言
  9. selenium安装和下载
  10. 厦大计算机学院2018夏令营6,2018年厦门大学建筑与土木工程学院保研夏令营通知...
  11. 吴伯凡-认知方法论-为什么说“盲维”是认知升级的重要概念
  12. Android源码目录结构
  13. System32和SysWow64文件夹的区别
  14. 【面试】腾讯优图-计算机视觉
  15. 7621:硬币面值组合
  16. CSS制作太极八卦图及衍生物
  17. 向前logistic回归与向后筛选出一样的变量_了解逻辑回归系数
  18. 看服务器时间修改日志,怎样看服务器远程更改时间记录
  19. java while 循环练习题
  20. 报错java找不到符号 符号:类xxx位置xxxx

热门文章

  1. 台式计算机中的pcu是什么,PCU是什么的缩写
  2. 编程和数学是什么关系?编程学习为什么会这么火呢?
  3. 基于 Harbor 搭建 Docker 私有镜像仓库
  4. 【flutter】Expanded组件
  5. 秋招面经总结(针对看到不会的问题)
  6. 【JavaScript】14_window对象与JS提升
  7. 03-STM32+BC26丨260Y远程升级篇(自建物联网平台)-功能测试-STM32+BC26丨260Y实现利用http远程更新STM32程序(单片机程序检查更新)
  8. 加载用户维度表与商店维度表
  9. 遵循分享经济大趋势:滴滴的第二场战争
  10. 浅析数据中心机架配电母线的应用及监控产品选型