摘要:最近,一個嶄新的引擎面世,它是在大會上發(fā)布用于在應用提高性能的,今天,我將進行全面介紹。自從年雙十一正式上線,累計處理了億錯誤事件,付費客戶有陽光保險核桃編程荔枝掌門對微脈青團社等眾多品牌企業(yè)。
摘要: JS引擎開始升級了...
原文:技術棧中的愛馬仕?Facebook發(fā)布全新JavaScript引擎:Hermes
作者:Carson_Ho
Fundebug經授權轉載,版權歸原作者所有。
前言目前,用戶的流暢體驗是用戶能長期使用某個移動客戶端應用App的重要指標之一,因此,移動客戶端應用App的性能問題備受關注。
最近,一個嶄新的JavaScript引擎面世:Hermes,它是Facebook在Chain React 2019 大會上發(fā)布 & 用于在React Native應用提高性能的,今天,我將進行全面介紹。
1. 簡介Facebook在Chain React 2019 大會上發(fā)布的一個嶄新JavaScript引擎
已開源 & 用于移動端React Native應用的集成2. 作用 2.1 背景
用戶的流暢體驗是用戶能長期使用某個移動客戶端應用App的重要指標之一,因此,移動客戶端應用App的性能問題備受關注
針對React Native應用,流暢度等性能問題一直被人詬病
2.2 問題Facebook基于多方性能數(shù)據(jù)分析,發(fā)現(xiàn)JavaScript引擎本身就是影響React Native應用啟動性能的重要因素
2.3 解決方案構建一個全新的JavaScript引擎,針對React Native應用,去提高移動客戶端應用App的性能
特別注意:Hermes主要面向移動端React Native應用的性能優(yōu)化,對瀏覽器 & Node.js 等服務端基礎架構并不適用。3. 性能提升表現(xiàn)
對于React Native應用(基于JavaScript引擎)來說,用戶感知最明顯的性能體驗包括:
應用程序可用的時間(TTI)
安裝包下載大小(Android APK 大小)
內存利用率
根據(jù)Facebook給出的官方性能優(yōu)化性能數(shù)據(jù)如下:
示意圖
從上述數(shù)據(jù)可知,Hermes引擎提升性能較為明顯:
在應用程序可用的時間上,Hermes能提升一倍的時間效率
在安裝包下載大小下,Hermes能減少50%的大小
在內存利用率上,Hermes能節(jié)省30%的內存使用
4. 設計原理為了提升React Native應用的性能表現(xiàn),Hermes引擎的設計主要是從是兩個方面入手:編譯方式 & 垃圾回收策略
4.1 編譯方式在實際使用Hermes時,具備3個優(yōu)點:懶編譯、兼容性好 & 調試體驗好,具體如下:
特別注意:在實際使用Hermes時,需對build.gradle文件做更改 & 重新編譯
project.ext.react = [ entryFile: "index.js", enableHermes: true ]6. 總結
本文全面講解了Facebook在Chain React 2019 大會上發(fā)布的一個嶄新JavaScript引擎:Hermes
下面我將繼續(xù)對 Hermes引擎中的知識進行深入講解 ,感興趣的同學可以繼續(xù)關注本人博客Carson_Ho的開發(fā)筆記
關于FundebugFundebug專注于JavaScript、微信小程序、微信小游戲、支付寶小程序、React Native、Node.js和Java線上應用實時BUG監(jiān)控。 自從2016年雙十一正式上線,F(xiàn)undebug累計處理了10億+錯誤事件,付費客戶有陽光保險、核桃編程、荔枝FM、掌門1對1、微脈、青團社等眾多品牌企業(yè)。歡迎大家免費試用!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105809.html
摘要:原方式中是經過壓縮的腳本文件,預編譯后則是二進制文件。兩者影響疊加導致整體減小,包大小得到優(yōu)化。引擎包引擎包官方文檔中對內存區(qū)的描述您的應用用于處理代碼和資源如字節(jié)碼已優(yōu)化或已編譯的碼庫和字體的內存。本文首發(fā)自普惠出行產品技術 自從 Google 的 Flutter 發(fā)布之后,F(xiàn)acebook 對 React-Native 的迭代開始快了起來,優(yōu)化 React-Native 的性能表現(xiàn)...
摘要:調研為專門推出的引擎。結論可以替換默認的引擎。官方給出的數(shù)據(jù)是白屏時間,從減少到,減少比例為。實際測試渲染包含個的的白屏時間包括初始化,從減少到,減少比例為。在計算性能方面,以引擎的為得分標準,得分比默認引擎低。 調研 Facebook 為 React Native 專門推出的 JavaScript 引擎 Hermes。結論: Hermes 可以替換 Android 默認的 JS 引...
摘要:配合下文中的重新構想原子化一起食用。瀏覽器支持文件格式支持需要用代碼來篩選中所需的數(shù)據(jù)時非常實用,顯著提高效率。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1,.ma...
摘要:摘要性能彪悍的引擎。深入淺出系列深入淺出第課箭頭函數(shù)中的究竟是什么鬼深入淺出第課函數(shù)是一等公民是什么意思呢深入淺出第課什么是垃圾回收算法深入淺出第課是如何工作的最近,生態(tài)系統(tǒng)又多了個非常硬核的項目。 摘要: 性能彪悍的V8引擎。 《JavaScript深入淺出》系列: JavaScript深入淺出第1課:箭頭函數(shù)中的this究竟是什么鬼? JavaScript深入淺出第2課:函數(shù)是一...
閱讀 1698·2023-04-26 01:02
閱讀 4841·2021-11-24 09:39
閱讀 1803·2019-08-30 15:44
閱讀 2874·2019-08-30 11:10
閱讀 1783·2019-08-30 10:49
閱讀 984·2019-08-29 17:06
閱讀 609·2019-08-29 16:15
閱讀 902·2019-08-29 15:17