美文网首页
微信小程序底层原理

微信小程序底层原理

作者: Alex_LoveYing | 来源:发表于2020-12-17 14:19 被阅读0次

    双线程

    小程序由两大线程组成:负责界面的线程(view thread)和服务线程(appservice thread),各司其职由互相配合。两个线程分别用于渲染层和逻辑层,渲染层的界面使用了 WebView 进行渲染,通过逻辑层代码去控制渲染哪些界面,如果一个小程序存在多个界面,则渲染层存在多个 WebView 线程;逻辑层采用一个单独的 JsCore 线程运行 JS 脚本,在这个环境下执行的都是有关小程序业务逻辑的代码。套用一张官方的图来解释。

    小程序双线程间的通信

    把开发者的 JS 逻辑代码放到单独的线程去运行,但在 Webview 线程里,开发者就没法直接操作 DOM。那要怎么去实现动态更改界面呢?

    如图:
    1、在渲染层把 WXML 转化成对应的 JS 对象。
    2、在逻辑层发生数据变更的时候,通过宿主环境提供的 setData 方法把数据从逻辑层传递到 Native,再转发到渲染层。
    3、经过对比前后差异,把差异应用在原来的 DOM 树上,更新界面。

    相关文章

      网友评论

          本文标题:微信小程序底层原理

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