时间: 2020-08-23|46次围观|0 条评论

小程序生命周期

一个完整的小程序执行的生命周期:
app.onLaunch -> app.onShow -> page1.onLoad -> page1.onShow -> page1.onReady
(打开程序,第一个页面page1加载完成)
-> page1.onHide -> page2.onLoad ->page2.onShow -> page2.onReady
(从第一个页面新打开page2)
-> page2.onUnload -> page1.onShow ->...->app.onUnload
(关闭page2,返回page1,...退出小程序)

一个page的生命周期从onLoad事件开始,整个生命周期内onLoad、onReady、onUnload这三个事件仅执行一次,而onHide和onShow事件在每次页面隐藏和显示时都会触发。当用户手动触发左上角的退出箭头时,小程序仅触发app.onHide,下次进入小程序时会触发app.onShow以及当前page.onShow。仅当小程序在后台运行超过一定时间未被唤起、或者用户手动在小程序的控制栏里点击退出程序、或者小程序内存占用过大被关闭时,小程序将被销毁,会触发app.onUnload事件。

生命周期代码:

Page({  /**   * 页面的初始数据   */  data: {  },  /**   * 生命周期函数--页面启动   */onLaunch: function() {     // 启动时执行的初始化工作 },  /**   * 生命周期函数--监听页面加载   */  onLoad: function (options) {       // 页面加载时执行的初始化工作  },  /**   * 生命周期函数--监听页面初次渲染完成   */  onReady: function () {        // 页面就续后触发执行的操作  },  /**   * 生命周期函数--监听页面显示   */  onShow: function () {        // 小程序启动或从后台进入前台时,触发执行的操作  },  /**   * 生命周期函数--监听页面隐藏   */  onHide: function () {        // 小程序从前台进入后台时,触发执行的操作  },  /**   * 生命周期函数--监听页面卸载   */  onUnload: function () {        // 页面关闭时触发执行的操作  },  /**   * 页面相关事件处理函数--监听用户下拉动作   */  onPullDownRefresh: function () {      },  /**   * 页面上拉触底事件的处理函数   */  onReachBottom: function () {      },  /**   * 用户点击右上角分享   */  onShareAppMessage: function () {      }})

小程序线程

每个小程序分为2个线程,view与appSer-ver。

  • view线程负责解析渲染页面(wxml和wxss文件)
  • appServer线程负责运行js。appSer-ver线程运行在jsCore中(安卓下运行在X5中,开发工具中运行在nwjs中)。

由于js不跑在WebView里,就不能直接操纵DOM和BOM,这就是小程序没有window全局变量的原因。

文章转载于:https://www.jianshu.com/p/37880535dec6

原著是一个有趣的人,若有侵权,请通知删除

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《初识小程序 – 生命周期
   

还没有人抢沙发呢~