every frame to update an animation, declare the animation configuration in JS and execute in UI thread on native. • As a consequence, JS thread can be blocked without affecting the animation. • Just add useNativeDriver: true to the animation config when starting it. Animated.timing(this.progress, { toValue: 1, duration: 1000, useNativeDriver: true // Add this line }).start();