美文网首页
小程序的双线程模型

小程序的双线程模型

作者: 极乐叔 | 来源:发表于2019-11-06 16:40 被阅读0次

官方文档给出的双线程模型:

小程序的宿主环境

微信客户端提供双线程去执行wxml,wxss,js文件。

双线程模型

1.上述的渲染层上面运行着wxml文件,渲染层使用是的webview线程进行渲染(一个程序会有多个页面,也就会有多个view线程进行运作)

2.js文件是运行在逻辑层,逻辑层的js是通过jscore进行运行的。

通过双线程界面的渲染过程是怎样的?

wxml与DOM树

其实我们wxml文件与我们html中的DOM树是一样的,这样我们就可以有js来模拟一个虚拟的DOM树:

初始化渲染

如果我们的wxml文件中如果有变量:要与js逻辑层共同渲染页面成为一个真正的DOM树:

界面数据发生变化

1如果通过setDat把hell改成dsb,则js对象的的节点会发生改变.

2 这时会用diff算法对比两个对象的变化,

3 然后将变化的部分应用到DOM树上

4 从而达到更新页面的目的,这也就是数据驱动的原理

总结

界面渲染的整体流程

1在渲染层将wxml文件与wxss文件转化成js对象也就是虚拟DOM

2 在逻辑成将虚拟的DOM对象配合生成,真实的DOM树,在交给渲染层渲染

3 当数据变化是,逻辑层提供更新数据,js对象发生改变,用diff算法进行比较

4 将更新的内容,反馈到真实的DOM树中,更新页面

作者: waller
原文:http://www.wxapp-union.com/portal.php?mod=view&aid=5647

相关文章

  • 微信小程序系列2——小程序页面渲染和逻辑的关系

    前言   小程序是基于双线程模型的,在这个模型中,小程序的逻辑层与渲染层分开在不同的线程运行,这跟传统的Web 单...

  • Android应用程序线程的消息循环模型

    Android应用程序线程的消息循环模型 Android应用程序线程的三种消息循环模型:应用程序主线程消息循环模型...

  • 小程序的双线程模型

    官方文档给出的双线程模型: 小程序的宿主环境 微信客户端提供双线程去执行wxml,wxss,js文件。 双线程模型...

  • ceph网络库分析

    1 介绍 线程模型是一个程序的骨架,只有设计好了线程模型才能发挥程序的性能, 也只有理解了线程模型才能写好代码。理...

  • 小程序的双线程模型

    小程序的双线程模型 小程序的最终呈现是WebView + 原生组件。 在一般的Web技术中,UI渲染和js的脚本执...

  • 小程序-工作原理

    小程序的核心思想:数据驱动+通信模型 通信模型:小程序的渲染层和逻辑层分别由2个线程管理:渲染层的界面使用了Web...

  • 2了解Node.js事件模型

    Node.js应用程序在一个单线程的事件驱动模型中运行。 比较事件回调和线程模型 在传统的线程网络模型中,请求进入...

  • Java内存模型精讲

    1.JAVA 的并发模型 共享内存模型 在共享内存的并发模型里面,线程之间共享程序的公共状态,线程之间通过读写内存...

  • muduo 网络库关于线程的阅读记录

    进程与线程 线程特点是共享地址空间,从而可以高效地共享数据。 单线程服务程序的编程模型 和 多线程服务程序的编程模...

  • 每日一结——JVM内存模型

    JVM内存模型 JVM内存模型分为1.7与1.8版本(其中黄色代表线程共享,白色代表线程私有) 程序计数器 线程在...

网友评论

      本文标题:小程序的双线程模型

      本文链接:https://www.haomeiwen.com/subject/xjrtbctx.html