美文网首页
2019-09-07 RN 0.60 android 使用Her

2019-09-07 RN 0.60 android 使用Her

作者: KingAmo | 来源:发表于2019-09-26 12:21 被阅读0次

关于hermes 的介绍就不细说了,可以看介绍文档里的相关说明。

RN 中 Android 端 使用的js引擎JavaScriptCore: org.webkit:android-jsc
Facebook 专门为RN 开发了一个更快的引擎:hermes: RN 使用 hermes 指南

0.60.4以上版本的RN 使用 Hermes 很简单,只需要在 android/app/build.gradle 中,将enableHermes 的值改为true

  project.ext.react = [
      entryFile: "index.js",
      enableHermes: true  // clean and rebuild if changing
  ]

然后 clean 一下 重新安装apk就行了。

怎么确认 Hermes 引擎生效了呢?

这是这篇文章的重点... 按照文档的介绍,Hermes 引擎生效后,js的全局变量global里会有一个HermesInternal,于是就可以用以下方法来判断:

const isHermes = () => global.HermesInternal != null;

于是使用

console.log(isHermes())

但是,控制台打印的一直是false,难道Hermes引擎没生效?直接打印global.HermesInternal的值,是 undefined,折腾了很久,一直怀疑是不是集成的步骤错了。。。

后来恍然大悟,要看到console日志,需要开启debug模式,开启debug后,js 代码就是浏览器执行的了,引擎是浏览器V8引擎,并不是Hermes;关闭debug模式时,才是Android 手机执行js 代码,此时的引擎才是Hermes。 所以,要判断是否是Hermes 引擎,还是不能通过开启debug通过console 啊~

相关文章

网友评论

      本文标题:2019-09-07 RN 0.60 android 使用Her

      本文链接:https://www.haomeiwen.com/subject/cbcyyctx.html