You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用Hermes Engine后React Native应用运行变慢求助

问题描述

按照React Native官方文档步骤创建了名为AwesomeProject的新项目,React Native版本为^0.69.4。启用Hermes Engine后发现应用运行速度变慢,但预期是应用会更快或至少保持原有速度。

项目的package.json配置如下:

{
  "name": "AwesomeProject",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "react": "18.0.0",
    "react-native": "^0.69.4"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "babel-jest": "^26.6.3",
    "eslint": "^7.32.0",
    "jest": "^26.6.3",
    "metro-react-native-babel-preset": "0.72.3",
    "react-test-renderer": "18.1.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

启用Hermes后的运行状态:
启用Hermes后的运行状态

启用Hermes前的运行状态:
启用Hermes前的运行状态

问题原因分析
  • 开发模式特性限制:Hermes在开发模式下默认不启用字节码预编译,采用解释执行JS代码的方式,运行效率不如JSC(JavaScriptCore)。只有在生产模式下,Hermes才会提前编译字节码,启动速度和运行性能优势才会显现。你当前测试的是开发环境,出现性能下降属于正常现象。
  • 版本适配细节问题:React Native 0.69.x与Hermes的适配存在部分优化空间,该版本中Hermes在开发模式下的调试开销(如源码映射、热重载兼容处理)比JSC更大,额外消耗了运行资源。
  • 业务场景偏差:你的项目是刚创建的空项目,没有复杂JS逻辑渲染或计算场景。Hermes的优势主要体现在大型应用、大量JS执行的场景中,空项目下的性能差异来自引擎本身的启动和基础运行开销,此时Hermes的优势无法体现,反而可能因调试层额外处理变慢。

内容的提问来源于stack exchange,提问作者ChenTin'

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 09:05:23