关于微信小程序新提供的渲染引擎Skyline的理解

这篇具有很好参考价值的文章主要介绍了关于微信小程序新提供的渲染引擎Skyline的理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对Skyline的理解

1、背景

小程序一直以来都是采用的AppService和 WebView的双线程模型,基于WebView和原生控件混合渲染的方式,小程序优化扩展了Web的基础能力,保证了再移动端上的良好性能和用户体验。为了进一步优化小程序性能,提供更为接近原生的用户体验,在WebView渲染之外新增了一个渲染引擎Skyline。

2、Skyline的特点

当小程序基于WebView环境下,WebView的DOM数创建、JS逻辑、CSS解析、Layout、paint(Composite)、样式计算都发生在同一线程上。如果在WebView上执行过多的JS逻辑可能回造成渲染阻塞,导致界面卡顿。Skyline则创建了一条渲染线,单独负责Layout、paint(Composite)、应用样式任务。并在AppService中划出一个独立的上下文来运行之前WebView承担的js逻辑、DOM树创建、样式计算。其特点是:

  • 界面更不容易被逻辑阻塞,减少界面卡顿
  • 不用给每个页面都新建一个JS引擎实例,减少了内存和节约了时间
  • Skyline框架可以在页面之间共享更多的资源,进一步减少运行时的内存
  • Skyline框架的代码之间无需再通过JSBridge进行数据交换,减少了通信时间开销

Notes:Skyline能够很好地兼容原来的框架。基于WebView环境的小程序代码基本上无需任何改动就可以在新的框架下运行。新的渲染流程如下图所示:
关于微信小程序新提供的渲染引擎Skyline的理解文章来源地址https://www.toymoban.com/news/detail-504711.html

到了这里,关于关于微信小程序新提供的渲染引擎Skyline的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于微信小程序中如何实现数据可视化-echarts动态渲染

    移动端设备中,难免会涉及到数据的可视化展示、数据统计等等,本篇主要讲解原生微信小程序中嵌入 echarts 并进行动态渲染,实现数据可视化功能。 基础使用 首先在 GitHub 上下载 echarts 包 地址:https://github.com/ecomfe/echarts-for-weixin/tree/master 下载项目 解压压缩包,将 ec-canva

    2024年01月25日
    浏览(82)
  • 微信小程序Skyline模式自定义tab组件胶囊与原生胶囊平齐,安卓和ios均自适应

    进入下面小程序可以体验效果 :   至于原理的话,解释起来毕竟麻烦,各位可以看源码自己分析。其实很简单,就算计算布局。很多网上公布的布局,都不能正常自适应。在下这个是完美可以的 

    2024年03月21日
    浏览(42)
  • 微信小程序渲染出错

    第一个错误渲染出错: [渲染层错误] Uncaught (in promise) [object DOMException](env: Windows,mp,1.06.2306020; lib: 2.19.2) 第二错误method值为空TypeError: Cannot read property \\\'method\\\' of undefined     at Vi.playdate (play.js? [sm]:51)     at Object.i.safeCallback (WASubContext.js?t=wechats=1687920555309v=2.19.2:2)     at WASubContex

    2024年02月10日
    浏览(53)
  • 微信小程序渲染实时时间

    总结一下自己怎么用JS初级的内容来写一个页面实时渲染时间的方法。 util.js文件代码如下: 例如,我要在index.js中引用util.js中的模块formatTime。那么,首先在index.js中定义变量util,使用require函数加载util.js文件。这里必须使用相对路径。 调用函数时,传入new Date()参数,返回值

    2024年02月11日
    浏览(53)
  • 微信小程序------WXML模板语法之条件渲染和列表渲染

    目录 前言 一、条件渲染 1.wx:if 2. 结合 使用 wx:if 3. hidden 4. wx:if 与 hidden 的对比 二、列表渲染 1. wx:for 2. 手动指定索引和当前项的变量名* 3. wx:key 的使用         上一期我们讲解wxml模版语法中的数据绑定和事件绑定(上一期链接:微信小程序-----WXML模板语法之数据绑定与事件

    2024年01月16日
    浏览(59)
  • 微信小程序之数据的同步渲染

    结论: 微信小程序通过setData方法实现数据的同步渲染,直接修改data无法实现同步渲染。 小程序分为逻辑层和渲染层,而每次逻辑层改变了,要借用Native运行。小程序的渲染层和逻辑层由两个线程管理:渲染层的界面使用了 WebView 进行渲染;逻辑层采用 JsCore 线程运行 JS 脚本

    2024年02月11日
    浏览(51)
  • 微信小程序基础使用-请求数据并渲染

    小程序模板语法-数据绑定 在js中定义数据 小程序的data是一个对象,不同于vue的data是一个函数 在模块中获取使用数据 小程序中使用 {{}} 实现数据与模板的绑定 内容绑定: view{{ 属性名 }}/view 属性绑定: input value=\\\"{{属性名}}\\\" / {{}} 内写的是表达式 简易双向绑定 小程序中提供了

    2024年02月08日
    浏览(90)
  • 【微信小程序】列表渲染wx:for

    🏆今日学习目标:第十二期——列表渲染wx:for 😃创作者:颜颜yan_ ✨个人主页:颜颜yan_的个人主页 ⏰预计时间:20分钟 🎉专栏系列:我的第一个微信小程序 哈喽大家好,本期是微信小程序专栏第十二期,本期我们将学习列表渲染wx:for。 注意:每期内容是连载呢,建议大家

    2024年02月08日
    浏览(56)
  • 微信小程序iconfont真机渲染失败

    解决方法: 1.将下载的.woff文件在transfonter转为base64, 2.打开网站,导入文件,开启base64按钮,下载转换后的文件 3. 在下载解压后的文件夹中找到stylesheet.css,并复制其中的base64 4. 修改index.wxss文件,将url中的本地地址替换为base64

    2024年02月13日
    浏览(39)
  • 微信小程序【渲染层网络层错误】解决方法

    利用微信小程序开发平台进行编写过程中,关于image组件使用,会出现图片无法加载问题,原本一个简单的问题却找了各种方法没有解决。此次问题出现使用的开发平台调试基础库版本为2.30.1,因为之前博主使用的方法是修改调试基础库的版本,但是发现也没有用。 添加的是

    2024年02月11日
    浏览(99)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包