React Native. 为什么安卓模拟器运行如此缓慢?

13
同一个项目在iOS模拟器上运行时帧率为60FPS,但在Android模拟器上一切都很慢。我什么也没做,但帧速率从53到56有所变化。JS FPS和UI FPS始终相同。我创建了一个动画组件,当我在iOS上点击它时,一切都很流畅(~60FPS),但是在Android上,JS FPS和UI FPS下降到10FPS。这正常吗?我已经阅读了链接。调试模式已关闭,在代码中没有任何console.log()。我插入了Android手机,界面变得更加流畅,但是当我开始动画时,JS FPS下降到约14。React Native中的动画使用本地线程。这怎么可能?我应该应用一些小技巧吗?
附:Mac Mini Late 2012, 四核i7, 16Gb RAM, SSD. AVD: Pixel XL, Android 6, x86, API 23, 2048Mb RAM, Graphics - Hardware GLES 2.0, Multi-core CPU 4. 使用了HAXM,据我所知...

enter image description here

enter image description here

3个回答

8

另一个提示 - 有一种选项可以进行性能测试而无需调试:

菜单点击

通过“摇动”设备(在 Mac 上使用 cmd+m,在 Windows 上使用 ctrl+m)打开菜单并打开设置。然后将 JS Dev Mode 设置为false,你会看到应用程序的运行速度接近于在真实设备上运行。唯一的缺点是你不会得到调试日志,但可以了解应用程序在真实设备上的表现。

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

更新2 我已经换成了运行在 ARM 架构上的 M1 Mac,模拟器现在运行非常快。如果你将在 Mac 上进行大量的 React Native 开发,我建议你购买一台 M1 Mac!


2
如果您发布一些关于您的硬件和设置的内容,或者至少告诉我们使用的模拟器API是什么,这将会有所帮助。Android 5?8?9?你的硬件是什么?RAM?你的模拟器设置截图在哪里?
首先,Android模拟器根据使用的处理器具有不同的优化方法。如果您使用Android SDK工具v24安装了模拟器,请按此更新SDK工具至v27
首先需要考虑以下事项:
  • 您必须使用最新的Android SDK工具版本
  • 英特尔处理器需要HAXM才能运行更快
  • AMD处理器需要启用Windows Hypervisor Platform
  • 您的模拟器应该至少有2048 MB的RAM或更多

添加了一些信息。关于API - React Native使用API 23,将其更新到24是否安全? - John Smith
抱歉,我无法为React Native提供更多反馈。如果这个问题在真机上没有出现,那么你不用太担心模拟器的问题,但我知道这很令人沮丧。 - andreszs

0

我在 c:/user//.android/avd 中删除了 avd 文件夹,并在模拟器中创建了新设备并输入了命令。

npx react-native start 

然后

react-native run-android

并解决我的问题


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接