前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序入门(五)

微信小程序入门(五)

作者头像
zhang_derek
发布2018-08-30 11:05:20
1.4K0
发布2018-08-30 11:05:20
举报
文章被收录于专栏:有趣的django有趣的django

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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 24.MINA框架讲解
  • 25.小程序运行机制
  • 26.小程序加载机制
  • 27.生命周期
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档