The same project runs 60FPS on iOS emulator, but in android emulator everything is slow. I do nothing but there are hops in frame rate from 53 to 56. JS FPS and UI FPS are always identical. I created animated component and when I click on it everything runs smoothly on iOS (~60FPS), but android's JS FPS and UI FPS fall to 10FPS. Is it normal? I've read the link. Debug mode is turned off, there is no any console.log() in code. I plug Android phone, interface becomes smoother, but JS FPS falls to ~14 when I start animation. Animations in React Native uses native thread. How is that possible? There are some tweaks I should apply?
P.S. Mac Mini Late 2012, Quad Core i7, 16Gb RAM, SSD. AVD: Pixel XL, Android 6, x86, API 23, 2048Mb RAM, Graphics - Hardware GLES 2.0, Multi-core CPU 4. HAXM is used, as I understand...
Another tip - there is an option to run without debugging etc for performance testing:
Open the menu by 'shaking' the device (cmd+m on Mac, ctrl+m on Windows) and open settings. Then set JS Dev Mode to false and you'll see the app operate at much closer performance to what it would on a real device. The only downside is you don't get your debug logs, but useful to see how the app is likely to behave on real devices.
UPDATE If you still want to see console logs and other debug information, you can access these in Logcat inside Android Studio without sacrificing performance.
UPDATE 2 I have switched the an M1 Mac which runs on ARM architecture and the emulator is incredibly fast now. If you're going to be doing a lot of React Native development on a Mac I'd recommend getting an M1 Mac!