Performance Comparison of Flutter vs React Native on iOS and Android
The Xianyu team rewrote a product detail page in Flutter, benchmarked it against native and React Native implementations on iPhone 5c, iPhone 6s, Xiaomi 2s and Samsung S8, and found Flutter consistently matched or outperformed native on iOS and surpassed React Native on both platforms in FPS, CPU usage and memory stability, earning it a gold‑medal rating.
The Xianyu team rewrote the product detail page using Flutter and compared its performance with native implementations and with React Native, focusing on high‑performance cross‑platform development.
Test scenarios covered login, search, navigation across dynamic, trend, and personal pages, using a real GitHub client app implemented in both Flutter and React Native.
Performance tools included iOS Instruments (CPU, memory, FPS) and Android ADB scripts. Devices tested were iPhone 5c (iOS 9.0.1), iPhone 6s (iOS 10.3.2), Xiaomi 2s (Android 5.0.2) and Samsung S8 (Android 7.0).
iOS results: Flutter matched or exceeded native on mid‑ and high‑end devices and was smoother on low‑end devices. FPS was better than React Native across the board. CPU usage was slightly higher on low‑end devices but lower on mid‑end devices. Memory consumption was comparable on low‑end devices; on mid‑end devices Flutter used about 30 MB more due to the Dart VM’s initial allocation strategy.
Android results: Flutter outperformed React Native in CPU usage on all devices, especially on the low‑end Xiaomi 2s. FPS and overall smoothness were higher for Flutter. Initial memory usage was about 40 MB higher on the low‑end device, but Flutter showed more stable memory behavior than React Native, which exhibited rapid memory growth.
Overall, the judges awarded the gold medal to Flutter, noting its superior performance and user experience with comparable development effort.
References include Android FPS & smoothness measurement ( link ) and iOS memory retrieval code such as:
kern_return_t kr = task_info(mach_task_self(), TASK_VM_INFO_PURGEABLE, (task_info_t)&vm_info, &info_count);Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
