微信小程序入门(五)

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

微信小程序入门(五)