A detailed benchmark comparing four React Native animation approaches — react-native-ease, Reanimated (Shared Values), Reanimated (CSS Animations), and RN Animated — across iOS and Android on both high-end and mid-range devices. The key finding is that react-native-ease, which delegates to platform APIs (Core Animation on iOS, ObjectAnimator on Android), adds virtually zero per-frame UI thread cost, while Reanimated and RN Animated carry measurable overhead that scales with animated view count. On iOS, Ease shows ~0.01ms per frame regardless of view count, while Reanimated SV hits 6.84ms at 500 views. On Android, debug builds dramatically inflate Reanimated's numbers, and feature flags that bypass the shadow tree commit can cut overhead by 11–19%. The post also explains when library choice matters most (long-running animations, lists, low-end devices) and when it doesn't (short one-shot transitions), and previews how React Native 0.85's Shared Animation Backend will narrow but not eliminate the gap.

9m read timeFrom expo.dev
Post cover image
Table of contents
The four React Native animation libraries testedHow the benchmark measures per-frame overheadBenchmark results: per-frame UI thread cost on iOS and AndroidWhy React Native animation libraries differ in per-frame costWhen your animation library choice matters in production apps

Sort: