小程序生命周期理解

小程序生命周期分为 程序生命周期 和 页面生命周期

程序生命周期

在第一次进入小程序的时候,客户端会帮我们初始化好小程序的运行环境。同时从CDN上对比下载最新的代码包或者从本地缓存中拿到代码包,并注入到运行环境中。初始化完毕之后,客户端会给逻辑层Appjs的app实例 来派发onLaunch事件,在逻辑层app.js的app构造器参数里面onLaunch方法就会被调用。

进入小程序之后,用户可以通过点击关闭或者手机的home键来离开小程序。这个时候小程序是没有直接被销毁的,这种属于小程序进入到后台运行的状态。在逻辑层,app的构造函数,他的参数定义的onHide方法就会被调用。

在我们再次打开微信小程序的时候,微信客户端会把后台的小程序唤醒,这个时候,小程序会进入到前台状态。在app构造器里面定义的onShow方法就会被调用。

当小程序发生脚本错误或者API调用失败的时候,会触发在App构造其中的onError方法,这个时候回给onError方法传入错误信息。

globalData—表示小程序应用的全局数据;
在这里插入图片描述
​​​​​​
页面生命周期
初次加载的时候,微信客户端会给我们在逻辑层定义的一个配置实例开发一个onLoad事件,配置构造器配置的onLoad方法就会被调用,这个onLoad在页面没被销毁之前只会被调用一次。在onLoad回调中,我们可以拿到当前页面所调用的一些打开参数。

当页面显示之后,配置构造器参数定义的onShow方法就会被调用。这里的onShow方法会有两种情况。一种是当前,还有一种是从其他页面返回到当前页面时,当前页面的onShow方法同样会被调用。

当页面初次渲染完成之后,配置构造器参数里面定义的onReady方法就会被调用 。onReady方法是在onShow方法调用之后调用,onReady和onLoad方法一样,在页面没被销毁之前,只会调用一次。

在onReady触发之后逻辑层就可以和视图层进行交互了;

在当前页面打开一个新的页面的时候,当前页会触发在配置构造器中的onHide方法。如果关闭当前页的情况下,会触发onUnload方法。data就表示当前页的数据;

​​在这里插入图片描述
下面是用一个配置实例来说明一个生命周期–
小程序是由两大线程组成。
1–负责页面视图的View线程
2–处理数据和服务的服务线程AppService
两者协同工作完成小程序页面生命周期的调用。

小程序在首次启动之后,有两个线程分别是Appservice和View线程;它们会同时创建
在Appservice创建之后,会依次调用onload、onshow方法。一般在这两个方法中会请求服务器数据
view线程在创建之后,会告诉Appservice,我已经初始化好了,这个时候Appservice会给它发送页面的初始化数据。view线程拿到初始化数据之后,会触发首次渲染,在渲染完成之后,会告诉Appservice,Appservice就会接受到onReady的调用,当onReady调用之后,我们从服务器上拿到的数据也就回来了。这个时候Appservice就会把拿到的数据再次发送给view线程的视图层。view拿到数据之后,会再次的渲染到视图层。

在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值