【问题标题】:React Native. Why android emulator is so slow?反应原生。为什么安卓模拟器这么慢?
【发布时间】:2018-07-21 20:24:44
【问题描述】:

同一个项目在 iOS 模拟器上运行 60FPS,但在 android 模拟器中一切都很慢。我什么都不做,但帧速率从 53 跳到 56。JS FPS 和 UI FPS 总是相同的。我创建了动画组件,当我点击它时,一切都在 iOS 上顺利运行(~60FPS),但 android 的 JS FPS 和 UI FPS 下降到 10FPS。正常吗? 我读过the link。调试模式已关闭,代码中没有任何 console.log()。我插入Android手机,界面变得更流畅,但是当我开始动画时JS FPS下降到~14。 React Native 中的动画使用原生线程。这怎么可能?我应该应用一些调整吗?

附: Mac Mini 2012 年末,四核 i7,16Gb RAM,SSD。 AVD:Pixel XL、Android 6、x86、API 23、2048Mb RAM、图形 - 硬件 GLES 2.0、多核 CPU 4。 据我了解,使用了 HAXM...

【问题讨论】:

    标签: react-native react-animated


    【解决方案1】:

    另一个提示 - 有一个选项可以在不调试等情况下运行以进行性能测试:

    通过“摇动”设备打开菜单(Mac 上为 cmd+m,Windows 上为 ctrl+m)并打开设置。然后将 JS Dev Mode 设置为 false,您将看到应用程序以更接近真实设备的性能运行。唯一的缺点是您不会获得调试日志,但对于查看应用程序在真实设备上的行为方式很有用。

    更新 如果您仍想查看控制台日志和其他调试信息,可以在 Android Studio 中的 Logcat 中访问这些信息,而不会牺牲性能。

    更新 2 我已经切换了运行在 ARM 架构上的 M1 Mac,并且模拟器现在速度非常快。如果您要在 Mac 上进行大量 React Native 开发,我建议您使用 M1 Mac!

    【讨论】:

      【解决方案2】:

      如果您发布一些有关您的硬件和设置的信息,或者至少发布我们所讨论的模拟器 API,将会有所帮助。安卓5? 8? 9?你的硬件是什么?内存?显示您的模拟器设置的屏幕截图在哪里?

      首先,Android 模拟器根据所使用的处理器有不同的优化方法。如果您使用 Android SDK 工具 v24 安装了模拟器,update the SDK tools to v27 as shown here

      首先要考虑的事情:

      • 您必须使用最新的 Android SDK 工具版本
      • 英特尔处理器需要 HAXM 才能运行得更快
      • AMD 处理器需要启用Windows Hypervisor Platform
      • 您的模拟器应至少具有 2048 MB 或更多的 RAM

      【讨论】:

      • 添加了一些信息。关于 API - react native 使用 API 23,将其更新到 24 是否安全?..
      • 抱歉,我无法为 React Native 提供更多反馈。如果这个问题在设备上没有发生,那么无论如何你都不应该太担心模拟器的问题,但我知道这很令人沮丧。
      猜你喜欢
      • 2013-05-03
      • 1970-01-01
      • 2011-11-15
      • 2010-12-05
      • 2020-12-22
      • 2011-09-29
      • 2011-10-21
      • 2020-11-15
      相关资源
      最近更新 更多