對Skyline的理解
1、背景
小程序一直以來都是采用的AppService和 WebView的雙線程模型,基于WebView和原生控件混合渲染的方式,小程序優(yōu)化擴展了Web的基礎(chǔ)能力,保證了再移動端上的良好性能和用戶體驗。為了進一步優(yōu)化小程序性能,提供更為接近原生的用戶體驗,在WebView渲染之外新增了一個渲染引擎Skyline。
2、Skyline的特點
當小程序基于WebView環(huán)境下,WebView的DOM數(shù)創(chuàng)建、JS邏輯、CSS解析、Layout、paint(Composite)、樣式計算都發(fā)生在同一線程上。如果在WebView上執(zhí)行過多的JS邏輯可能回造成渲染阻塞,導(dǎo)致界面卡頓。Skyline則創(chuàng)建了一條渲染線,單獨負責(zé)Layout、paint(Composite)、應(yīng)用樣式任務(wù)。并在AppService中劃出一個獨立的上下文來運行之前WebView承擔的js邏輯、DOM樹創(chuàng)建、樣式計算。其特點是:文章來源:http://www.zghlxwxcb.cn/news/detail-504711.html
- 界面更不容易被邏輯阻塞,減少界面卡頓
- 不用給每個頁面都新建一個JS引擎實例,減少了內(nèi)存和節(jié)約了時間
- Skyline框架可以在頁面之間共享更多的資源,進一步減少運行時的內(nèi)存
- Skyline框架的代碼之間無需再通過JSBridge進行數(shù)據(jù)交換,減少了通信時間開銷
Notes:Skyline能夠很好地兼容原來的框架?;赪ebView環(huán)境的小程序代碼基本上無需任何改動就可以在新的框架下運行。新的渲染流程如下圖所示:文章來源地址http://www.zghlxwxcb.cn/news/detail-504711.html
到了這里,關(guān)于關(guān)于微信小程序新提供的渲染引擎Skyline的理解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!