对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树创建、样式计算。其特点是:文章来源:https://www.toymoban.com/news/detail-504711.html
- 界面更不容易被逻辑阻塞,减少界面卡顿
- 不用给每个页面都新建一个JS引擎实例,减少了内存和节约了时间
- Skyline框架可以在页面之间共享更多的资源,进一步减少运行时的内存
- Skyline框架的代码之间无需再通过JSBridge进行数据交换,减少了通信时间开销
Notes:Skyline能够很好地兼容原来的框架。基于WebView环境的小程序代码基本上无需任何改动就可以在新的框架下运行。新的渲染流程如下图所示:
文章来源地址https://www.toymoban.com/news/detail-504711.html
到了这里,关于关于微信小程序新提供的渲染引擎Skyline的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!