教你理解微信小程序的生命周期和运行原理_tsr106的博客-CSDN博客_微信小程序的发展历史


本站和网页 https://blog.csdn.net/tsr106/article/details/53052879 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

教你理解微信小程序的生命周期和运行原理_tsr106的博客-CSDN博客_微信小程序的发展历史
教你理解微信小程序的生命周期和运行原理
tsr106
于 2016-11-06 10:29:44 发布
18219
收藏
文章标签:
小程序
公众号小程序
公众平台小程序
微信小程序
微信
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tsr106/article/details/53052879
版权
写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决。小助君公众号带你学习小程序的生命周期和运行原理。
小程序由两大线程组成:负责界面的线程(view thread)和服务线程(appservice thread),各司其职由互相配合
小程序的生命周期借鉴了Android的生命周期,如果你了解过Android的APP开发,那么理解小程序的就会很简单。
界面线程有四大状态: 1. 初始化状态:初始化界面线程所需要的工作,包括工作机制,基本和我们开发者没有关系,等初始化完毕就向 “服务线程”发送初始化完毕信号,然后进入等待传回初始化数据状态。
2.首次渲染状态:收到“服务线程”发来的初始化数据后(就是 json和js中的data数据),就开始渲染小程序界面,渲染完毕后,发送“首次渲染完毕信号”给服务线程,并将页面展示给用户。
3.持续渲染状态:此时界面线程继续一直等待“服务线程”通过this.setdata()函数发送来的界面数据,只要收到就重新局部渲染,也因此只要更新数据并发送信号,界面就自动更新。
4.结束状态:你懂得。
服务线程五大状态: 1 初始化状态:无需和其他模块交流,跟小程序开发也没多大关联,此阶段就是启动服务线程所需的基本功能,比如信号发送模块。系统的初始化工作完毕,就调用自定义的onload和onshow, 然后等待界面线程的“界面线程初始化完成”信号。 onload是只会首次渲染的时候执行一次,onshow是每次界面切换都会执行,简单理解,这就是唯一差别。
2 等待激活状态:接收到“界面线程初始化完成”信号后,将初始化数据发送给“界面线程”,等待界面线程完成初次渲染。
3.激活状态:收到界面线程发送来的“首次渲染完成”信号后,就进入激活状态既程序的正常运行状态,并调用自定义的onReady()函数。 此状态下就可以通过 this.setData 函数发送界面数据给界面线程进行局部渲染,更新页面。
4.后台运行状态:如果界面进入后台,服务线程就进入后台运行状态,从目前的官方解读来说,这个状态挺奇怪的,和激活状态是相同的,也可以通过setdata函数更新界面的。毕竟小程序的框架刚推出,应该后续会有很大不同吧。
“小助君公众号”是帮助大家运营公众号的公众号,欢迎大家来交流小程序和公众号运营。
tsr106
关注
关注
点赞
收藏
打赏
评论
教你理解微信小程序的生命周期和运行原理
写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决。小助君公众号带你学习小程序的生命周期和运行原理。小程序由两大线程组成:负责界面的线程(view thread)和服务线程(appservice thread),各司其职由互相配合小程序的生命周期借鉴了Android的生命周期,如果你了解过Android的APP开发,那么理解小程序的就会很简单。界面线程有四大状态: 1.
复制链接
扫一扫
Android 定制设备崩溃后app自动打开自身(应用保活功能,保持应用一直处于存活状态)
LSJ
07-10
1211
前几天,公司让我做一个功能,说是看门狗功能,我一脸懵了,因为,我才疏学浅,不知道啥意思,经过进一步了解吧,意思就是,应用在崩溃之后,能让应用在一定时间内自己启动自己本身的一个功能,当然,看了一下,还是有很多种做法的,我不一定有别人写的好,但是,我觉得,自己写出来也是一种成就,然后,我就自己稍微琢磨了下,原理呢,就是,开启服务,让服务循环检测自身应用是否存活着,如果存活就不做操作,如果不存活就开启应用,就是这么理解的,话不多说了,我就直接上代码吧 ,有问题的话,我就把代码也上传上去,有需要下载就是了
1、首
微信小程序简介
java1234的博客
05-15
2865
微信小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/
小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。
全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。微信小程序
参与评论
您还未登录,请先
登录
后发表或查看评论
微信小程序中的App、Page、Component的生命周期函数
最新发布
一个普通人的博客
10-25
413
字面意义上说,生命周期就是指一个对象自身的生老病死;在程序运行上也可以这么理解,程序也是对象,也有“生老病死”;程序自身从创建到销毁的过程中,运行到特定的阶段,会触发特定的函数,这些函数,我们就称之为生命周期函数。
小程序的发展史
m0_60643169的博客
08-30
876
截至2017年11月,我国移动互联网用户总数达到12.5亿户,使用手机上网的用户为11.6亿户,对移动电话用户的渗透率为82.1%,我国网民上网方式已经全面移动化。随着4G网络的不断发展和更多高性价比智能手机的普及,以及人们对工作、生活、娱乐等多方面的需求日益增长,各种移动应用程序App(英文全称为 Application)应运而生。据《2017年Q4暨全年移动互联网行业数据研究报告》显示,2017年第四季度,每个移动网民手机中平均装有40个App。当太多App占满用户的手机屏幕和内存时,手机就容易出现内存
小程序技术演进史
CSDN资讯
06-24
5978
【CSDN 编者按】小程序这个由微信带头的产物,格外鲜明地体现了移动互联网的「时机」这个词,早在微信小程序之前,有力推轻应用的百度,有来自 HTML5 中国产业联盟的 DCloud 所主张的流应用,但最终却都已经淹没在了移动互联网的历史长河之中。唯有微信小程序风生水起,更是带动了巨头们的争相入场。
小程序迎来了专属于中国移动互联网的群雄逐鹿的时代。
本文作者王安即是流应用的创造...
微信消息传输机制
洋葱专栏-有灵魂的程序员
07-28
2万+
微信消息是一种即时通讯;消息即时传递和用户交互性。
即时通信原理
即时通信是一种基于网络的通信技术,涉及到IP/TCP/UDP/Sockets、P2P、C/S、多媒体音视频编解码/传送、WebService等多种技术手段。无论即时通信系统的功能如何复杂,它们大都基于相同的技术原理,主要包括客户/服务器(C/S)通信模式和对等通信(P2P)模式。(来自百度文库)这里主要说说C/S架构的通讯...
利用Java实现简单的多人聊天(微信的基础实现原理TCP)
weixin_52543147的博客
05-21
1666
微信开发的原理
gaofulai
11-30
375
微信在现在的生活中,扮演着举足轻重的角色,现在怎么东西都在微信上运转得风生水起,如微信支付,微信购物,微信红包等等。那么微信开发的原理又是怎样的呢?
这里要区分两个概念:[b]微信服务器[/b]和[b]应用服务器[/b]
[b]微信服务器是腾讯的服务器,它做的工作是转发的作用。
应用服务器的使用是接收微信服务器的请求,处理逻辑,向微信服务器响应请求。[/b]
所以整个示意图如下...
简述微信小程序原理
i_kun的博客
03-28
4395
一、本质
首先,小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象。
所以就没有相关的DOM API和BOM API,这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。
同时 JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。
总之,js是单线程的,小程序是双线程,逻辑层和视图层(渲染层)是分开的,同时运行的。
二、通信
...
微信小程序的工作原理
小程序博客专栏
02-01
1万+
现阶段的前端是框架横行时期,小程序说白了也是在微信自己封装的框架基础上,开放了接口、api、页面渲染功能,你可以在这个框架上写页面,写业务逻辑,数据驱动视图,调用手机底部接口。至于如何驱动,如何调用这些都不需要我们来关注。就像我们用reac框架一样,只需要关注我们的视图和业务逻辑就好了。
什么人适合来做小程序:懂一点代码的人都可以。
懂什么技术的来开发小程序快呢:前端开发人员,因为需要对页
微信小程序发展历史
qq_60332750的博客
08-30
1509
2016年1月11日,2016微信公开课PRO版在广州举行,“微信之父”张小龙首次公开演讲,宣布微信公众号将推出“应用号”,通过公众号完成一些App的部分功能。
2016年9月21日晚间,微信官方向部分公众号发出了应用号的内测邀请。
2016年9月22日凌晨,微信正式对外声明已经开始内测。
2016年11月3日晚间,微信团队宣布:微信小程序正式开放公测。
2017年1月9日,微信小程序正式面对C端用户开放,但由于早期小程序数量较少,入口相对较深,因此用户量增长比较缓慢。
2017年9月20日,支付宝小程序向
小程序的发展历程
qq_42918433的博客
10-17
267
如何理解小程序
微信、QQ聊天是怎么实现的?原来这么简单!!!
物联网工程师的博客
06-04
2809
自己动手做制作聊天室。利用C#制作的聊天室。实现QQ和微信聊天的功能。C#课程设计,软件工程课程设计。
关于小程序的一切,读这一篇就够了~
weixin_64314555的博客
12-09
292
小程序发展史
1.1 Native App
在智能机刚兴起的时代,网络还不是很发达,网页浏览速度也很慢,以文字为主。市面上的应用以 Native App 为主。
Native App 是基于 iOS 或者安卓的原生应用,特点是开发成本高,迭代慢,但是性能和体验很好,消息推送及时,比如 qq,微信等。
1.2 H5
2014 年 HTML5 完成标准定制,他的设计目的是为了在移动设备上支持多媒体,引入了 Video、Audio 等技术。
在网页上浏览视频变得很方便,特点是开发和发布成本低,打开
营销运作百科:什么是小程序,小程序的发展史概要
速名网
07-24
103
  据速名网的了解,我们所使用的小程序并不是凭空冒出来的一个概念。早在微信当中的WEBVIEW变为移动网站的一个重要入口的时候,微信就有相关的JS api调用了。事实上,微信官方并没有对外面透露过如此调用的API接口。起初的意愿也是为了提供给腾讯内部的一些业务使用,这样可以快速打开自己想要的网页。后来,很多外部的开发者看到这个简单使用的js api接口,于是依葫芦画瓢的使用了,并且慢慢发展成为微信中网页的标准制式。
  速名网了解到,2015年初,微信曾经发布了一整套的网页开发工具包,它就是原生态的JS
微信公众号开发实现原理
程序员Monkey的专栏
05-21
3万+
最近公司有需求,要做微信接口方面的开发,研究了一下它的实现原理,发现也挺简单的,下面带大家来了解下。
众所周知,微信号是要在联网的环境下才能够实现各种功能的,所以我们开发的后台的实现项目也需要在互联网能够访问的情况下进行,如果公司配备了外网连接的服务器,那是很好的,如果没有,现在网络上有很多云盘服务器也可以用,比如百度的bea,新浪的sea,阿里巴巴的等等,我搜索...
微信小程序的发展史
王源源源源的博客
08-29
1936
在2016年初,微信之父张小龙对微信的价值观进行了解读,以及表明 ,微信内部正在研究一种新的形态
这种形态即为微信小程序 并且 于16年9月 对微信小程序进行了内部测试阶段 不久后 微信小程序的特点为为人们提供便利 并且可以达到‘用完即走’的状态,不用进行下载等一系列繁琐过程 由于这个特点 微信小程序并引起广泛人们的关注。
于17年1月9日 微信小程序第一批正式上线 广泛用于人们的生活中 也可以体验微信小程序提供给大家便利的服务
17年12月28 对微信版本进行了更新 并且对微信小程序进行了开放
小程序发展简史
weixin_44298317的博客
01-16
3937
2017年元月9日微信正式推出第一个版本的小程序以来,大众对小程序经历了“热情->失望->质疑->回归->井喷爆发”的几个阶段。无疑小程序是个划时代的应用。它免安装,轻巧、免卸载、多入口的特性,从一诞生并自带光环。目前大分部主流APP已相继推出小程序版,各政府民生服务窗口也纷纷上线小程序。另外,各类衣食住行等传统商家,例如,买电影票、餐厅排号、餐馆点菜、查询公交、查询股票信...
微信小程序架构解析,工作原理解析
热门推荐
fishmai的专栏
05-31
3万+
一、小程序介绍
1、小程序特点
2、小程序演示
视频地址:https://v.qq.com/x/page/w0353d7co6y.html
3、小程序为什么那么快
Page Frame
Native预先额外加载一个WebView
当打开指定页面时,用默认数据直接渲染,请求数据回来时局部更新
返回显示历史View
退出小程序,View状态不销毁
4、小程序入口
扫码进入小...
微信公众平台开发简要说明 —— 基本原理
零怀念的博客
10-04
6556
这两个月里,公司的项目基本上都基于微信公众平台的开发上。为了可以快速开发,我使用了 Ruby on Rails框架,而不是之前的 Python,这不是说 Python 不可以做到快速开发,其实我更多只是想试试新的东西。但效果不错。
微信公众平台的开发,与语言没什么太大的关系,大家只要选择自己熟悉的语言即可,以下我只说明大概的原理,并用 Ruby on Rails 作为代码示例。
准备工作
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
tsr106
CSDN认证博客专家
CSDN认证企业博客
码龄17年
暂无认证
15
原创
33万+
周排名
190万+
总排名
3万+
访问
等级
452
积分
10
粉丝
13
获赞
评论
20
收藏
私信
关注
热门文章
教你理解微信小程序的生命周期和运行原理
18219
移动端性能测试概述
5002
今后,若你的公众号还按老方式发广告,罚款高的可达百万。有公众号已经被惩处了。
3101
(书稿底稿)(C/C++)第一章:CPU基础知识 1.2 管道技术
1116
什么是性能?
1109
最新评论
(书稿底稿)(C/C++)第一章:CPU基础知识 1.2 管道技术
学渣的进阶:
老板,网页中图片无法显示
(书稿底稿)(C/C++)第一章:CPU基础知识 1.1.2 CPU如何获取内容
bank0616:
讲解的不是太透彻!要再详细点就好了
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
微信小程序开发指南,含最新api
test
微信小程序开发技术细节
2016年5篇
2015年5篇
2014年6篇
目录
目录
最新文章
微信小程序开发指南,含最新api
test
微信小程序开发技术细节
2016年5篇
2015年5篇
2014年6篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
tsr106
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值