跳至主内容
版本:0.81

使用 Hermes

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

Hermes 是一个专为 React Native 优化的开源 JavaScript 引擎。对大多数应用而言,使用 Hermes 相比 JavaScriptCore 能缩短启动时间、降低内存占用并减小应用体积。 React Native 默认启用 Hermes,无需额外配置。

内置 Hermes​

React Native 自带内置版本的 Hermes。 每当发布新版 React Native 时,我们都会为您构建对应的 Hermes 版本。这确保您使用的 Hermes 版本与当前 React Native 版本完全兼容。

此变更对 React Native 用户完全透明。您仍可通过本页描述的指令禁用 Hermes。 您可在此页面了解技术实现的详细信息。

确认 Hermes 是否启用​

若您最近创建了新应用,可在欢迎界面查看 Hermes 启用状态:

Where to find JS engine status in the new project?

JavaScript 环境中将存在全局变量 HermesInternal,可用于验证 Hermes 是否启用:

jsx
const isHermes = () => !!global.HermesInternal;
注意

若使用非标准方式加载 JS 包,可能出现 HermesInternal 变量存在但未使用高度优化的预编译字节码的情况。 请确认您在使用 .hbc 文件,并按照下文说明进行性能对比测试。

要验证 Hermes 的优势,请尝试构建/部署应用的 release 版本进行对比。例如在项目根目录执行:

npm run android -- --mode="release"

这将在构建时将 JavaScript 编译为 Hermes 字节码,从而提升应用在设备上的启动速度。

切换回 JavaScriptCore​

React Native 同样支持使用 JavaScriptCore 作为 JavaScript 引擎。请按照社区仓库中的说明禁用 Hermes。