
这是666计划的48篇
MINA框架

View视图层: 包括WXML和WXSS文件。
APPService 逻辑层: 一个是manager, 另一个是底层提供的WAService.js来封装各个API的接口。 AppService常驻内存。
视图层和逻辑层通过JSBridge通信。
视图层中的WXML会将节点转为JavaScript对象, 识别逻辑层传递过来的数据, 做一个diff算法来更新数据。
为避免跨线程的消耗, 会把在逻辑层做的类似Filter的计算放到视图层来计算。
了解小程序的框架的作用在于, 可以对小程序在整体上做优化处理。
小程序运行机制

热启动: 打开过以后再次打开
冷启动: 第一次打开或被微信销毁后再次打开。
被微信销毁的情况: 超时销毁, 现在一般是5分钟; 如果短时间连续超过2次的系统告警也会销毁, 这个短时间目前是5秒。
小程序版本更新机制:
在冷启动的时候发现有版本更新, 会异步下载代码包, 并使用微信客户端本地的一个包进行启动, 也就是说最新小程序的代码需要在下次生效。
如果你需要马上用上最新版本的代码包, 微信提供了相关的API。
小程序加载机制

小程序通过网络 1) CDN更新package 2)Web Server做Ajax请求和获得JSON数据
生命周期
小程序生命周期分为: 1) 页面生命周期 2) 应用生命周期
下面是小程序应用的生命周期

页面生命周期:

两大线程协同负责完成小程序生命周期的调用:


网友评论