Hermes分享
一、Hermes是什么?
二、在分析性能数据时,Facebook团队发现 JavaScript 引擎是影响启动性能和应用包体积的重要因素。由于JavaScriptCore最初是为桌面浏览器端设计,相较于桌面端,移动端能力有太多的限制,为了能从底层对移动端进行性能优化,Facebook团队选择自建JavaScrip引擎,设计了Hermes,限于iOS AppStore审核限制,目前仅用于Android平台。(0.60.2RN版本支持)
三、Hermes的优点?
a) 首屏渲染速度
b) Native so size
四、Hermes是如何优化的?
a) 字节码预编译
b) 放弃JIT
五、为什么IOS没有Hermes?
因为苹果要求采用javascriptcore引擎,上架有限制。
六、Hermes的缺点(支持bytecode直接运行,也支持js文本)
-
bytecode文件占用size过大问题
-
之后热更新做增量更新,比较麻烦。
-
release环境下的调试速度会更慢
-
执行纯文本js耗时长
-
缓存问题
七、参考资料
<u>http://www.ruanyifeng.com/blog/2016/01/babel.html</u>
<u>https://juejin.im/post/5d50f133e51d4561a60d9daf</u>
网友评论