android - 如何减少 React Native Android 应用程序的启动时间

标签 android gradle react-native startup annotation-processing

我目前正在尝试弄清楚如何减少 Android 启动时间。这对 iOS 来说不是问题,但对于 Android,我看到 6-10 秒。目标是 3-4 秒左右。

这是我所遇到的研究的摘要

  • createReactContext:react 桥被初始化并开始加载所有原生模块的地方
  • getMethodDescriptors:使用反射编译(运行时)使用ReactMethod
  • 的所有公开方法的列表

解决方案存在但并不完美:

  1. LazyReactPackage(实验性)https://github.com/facebook/react-native/commit/797ca6c219b2a44f88f10c61d91e8cc21e2f306e
  2. 移除所有暴露的反射 ReactMethods https://github.com/facebook/react-native/pull/10084

我对这些解决方案的问题在于使用注释处理来生成类(编译时)。我正试图弄清楚如何让这些解决方案在没有运气的情况下运行。

此外,有关缩短 Android 启动时间的其他建议也会有所帮助。

谢谢!

最佳答案

为此,Facebook 发布了他们的新构建机制 Hermes这将增加您的启动时间的速度。但是你需要 react native 0.60> 来使用这个引擎。 https://facebook.github.io/react-native/blog/2019/07/17/hermes

关于android - 如何减少 React Native Android 应用程序的启动时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47679773/

相关文章:

groovy - 为什么我得到 'No such file or directory' 错误

java - 如何根据 maven/gradle 范围更改行为?

javascript - react native Android : Resizing native UI Component causes black out

java - 分配时间与系统时间相同时的运行方法

安卓库项目

android - PhoneGap API 覆盖率与 native 覆盖率

android - 删除系列指示器/绘图图例 AndroidPlot

android - 在 gradle 中设置自定义库 repo

python - 当 python 中的相同请求正在工作时,无法使用 aws4 在 native 中上传图片

firebase - 为什么 moment.js 的日期提前了 50 年?