微信小程序入门(五)
24.MINA框架讲解
MINA框架架构

25.小程序运行机制
小程序在首次打开的时间会比较长,后续再打开启动会很快,那么小程序是如何启动的呢?
运行机制-启动
- 冷启动
- 热启动
热启动:假入用户已经打开某个小程序,然后在一定时间内再次打开小程序,这个时候,就不需要重新启动了,只需要把后台小程序切换到前台来使用,这个过程就叫做热启动。
冷启动:用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。那么小程序什么时候被主动销毁呢?有两种情况。
小程序进入后台后,客户端会帮我们在一定时间内维持小程序的一个状态,
超过时间后就会被微信主动销毁,这个时间是五分钟。当在短时间内连续收到系统报警的时候,微信就会主动销毁小程序,这个短时间的间隔是5s。
26.小程序加载机制
运行机制-加载

27.生命周期
小程序的生命周期分为应用生命周期和页面生命周期
应用生命周期

可以看到小程序应用生命周期分为四个钩子:onLaunch,onShow,onHide和onError.第一次进入小程序的时候,客户端会帮我们初始化好小程序的运行环境,同时会从CDN上下载或者从本地存储拿到小程序的代码包,然后把它注入到运行环境里面。初始化完毕后,微信客户端会给逻辑层App.js的app实例来派发onLaunch事件,那么onLaunch方法就会被调用。进入小程序之后,用户可以点击“关闭”或者手机上的“Home”键离开小程序,这个时候小程序是没有被直接销毁,而是进入到后台的状态。在逻辑层App构造器所定义的onHide方法就会被调用。当我们再次打开小程序的时候,微信客户端会把后台Hide的小程序唤醒,这个时候小程序就会进入前台状态。在App构造器里面的onShow方法就会被调用。当小程序发生脚本错误或者API调入失败的时候会触发onError方法。这里的globalData表示小程序应用的一个全局数据。
页面生命周期

当页面初次加载的时候,微信客户端会给我们在逻辑层所定义的一个配置实例派发一个onLoad事件,那么配置构造器参数所定义的onLoad方法就会被调用,这个onLoad方法在页面没被销毁之前只会调用一次。在onLoad回调中我们可以拿到当前页面的一些参数。页面显示之后,配置构造器参数所定义的onShow方法就会被调用。页面初次渲染完成之后,配置构造器参数所定义的onReady方法就会调用,onReady方法触发之后,逻辑层和视图层就可以进行交互了。在当前页的基础上打开新的一页,那么在当前页就会触发配置构造器参数所定义的onHide方法。如果关闭了当前页的话,就会触发onUnload方法。这里的data表示当前页的数据。
实例图
小程序由两大线程组成
- AppServie Thread
- View Thread

微信小程序入门(五)的更多相关文章
- 微信小程序入门基础
微信小程序入门基础 视频教程(https://edu.csdn.net/course/detail/8456?pre_view=1) 第一章.认识小程序 1.工具的下载与安装 2.小程序代码构成 ...
- 天河微信小程序入门《四》:融会贯通,form表单提交数据库
天河在阔别了十几天之后终于又回来了.其实这篇文章里的demo是接着(天河微信小程序入门<三>)后面就做了的,但是因为最近在做别的项目,所以就偷懒没有发出来.放到今天来看,从前台提交数据到数 ...
- 天河微信小程序入门《三》:打通任督二脉,前后台互通
原文链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=505&extra=page%3D1 天河君在申请到https ...
- 天河微信小程序入门:阿里云tomcat免费配置https
天河君在第一时间通过了微信小程序验证,开启了我的微信小程序之旅.因为天河君之前是一名后端狗,对前端不是很了解,所以几乎可以认为是从零开始学做微信小程序.也希望有志在微信小程序方向做点事情的朋友能够和我 ...
- 我的微信小程序入门踩坑之旅
前言 更好的阅读体验请:我的微信小程序入门踩坑之旅 小程序出来也有一段日子了,刚出来时也留意了一下.不过赶上生病,加上公司里也有别的事,主要是自己犯懒,就一直没做.这星期一,赶紧趁着这股热乎劲,也不是 ...
- 微信小程序入门正确姿势(一)
[未经作者本人同意,请勿以任何形式转载] >>>前言 这是 [认真学编程] 系列的 第4篇 文章(微信小程序入门系列),欢迎点赞分享.写留言,这些都是对我最好的支持. 本系列适合有一 ...
- 微信小程序入门篇
微信小程序入门篇: 准备工作 IDE搭建 就不多说了,没有内测码去下载个破解版吧,我用了一下,学习完全够了!IDE破解版+安装教程 图片发自简书App 知识准备 JavaScrip还是要看看的,推荐教 ...
- 微信小程序入门案例
本文通过具体的实例记录微信小程序的入门知识. 1.特点 不需要安装 依赖微信应用 更接近原生APP 丰富的框架及API可达到快速开发的目的 2.工具使用 在开发的过程中可以使用微信开发者工具,更加直观 ...
- 从零开始的微信小程序入门教程(一)
之前说要和同事一起开发个微信小程序项目,现在也在界面设计,功能定位等需求上开始实施了.所以在还未正式写项目前,打算在空闲时间学习下小程序.本意是在学习过程中结合实践整理出一个较为入门且不是很厚的教程, ...
- 微信小程序入门与实战 常用组件API开发技巧项目实战*全
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
随机推荐
- this指向及改变this指向的方法
一.函数的调用方式决定了 this 的指向不同,但总的原则,this指的是调用函数的那个对象: 1.普通函数调用,此时 this 指向 全局对象window function fn() { conso ...
- 关于使用spring版本4.1.6注解@Import报错
记录一下遇到的错误 org.springframework.beans.factory.parsing.BeanDefinitionParsingException: 使用环境:spring 4.1. ...
- Centos给文件设置了777权限仍不能访问解决方案
Centos给文件设置了777权限仍不能访问: 开启了SELinux导致 1.查看SELinux状态:/usr/sbin/sestatus -v ##如果SELinux status参数为enable ...
- jquery只获取自身文本节点,不获取子元素的
jQuery.text()方法时候,会把子元素的文本也获取到,以下方法可获取自身文本节点,不包括子元素 <div id="demo">只获取我<a href=&q ...
- <转载>Vim的寄存器(复制黏贴要用)
https://blog.csdn.net/hk2291976/article/details/42196559 消除高亮 :noh
- 支付宝红包口令自动复制到剪贴板脚本js,安卓,IOS通用版
有客户找到涛舅舅,要求开发一个可以自动支付宝红包口令的js脚本,经过大量探索和优化,目前此脚本功能已经测试成功! 预期效果: 只要来访用户在当前网页的任意位置点击一下,支付宝红包口令即可复制到用户手机 ...
- Android Getting Started
Building Your First App Creating an Android Project 介绍如何Android开发环境,具体是:怎么使用Eclipse工具 Create a Proje ...
- java 新手指南
Java新手指南 不小心走上了一条不归路的我 因为对可视化感兴趣,然后学了MFC,发现MFC好麻烦啊,不如开发APP吧,刚学开发APP,艹,居然是用java做开发,那只好学java了,,呜呜,不知道什 ...
- Matlab调用遗传工具箱复现论文模型求解部分
原文转载自:https://blog.csdn.net/robert_chen1988/article/details/52431594 论文来源: https://www.sciencedirect ...
- php GD库快速消耗CPU资源漏洞 CVE-2018-5711测试
漏洞说明: 用一张GIF图片就可导致服务器发生崩溃直至宕机,在现实中非常容易利用. 影响版本: PHP 5 < 5.6.33 PHP 7.0 < 7.0.27 PHP 7.1 < 7 ...