Expo/TypeScript中带inverted属性的FlatList引发动画卡顿问题
Android 13下带
inverted属性的FlatList与动画共存导致APP冻结问题 问题现象
- 实现类似WhatsApp的取消录音按钮,初始状态下动画启动、录音启停等功能均正常;但操作手势处理器几秒到1分钟后,APP出现冻结,所有动画卡顿,帧率降至0
- 该问题仅在Android 13系统出现,iOS端无异常
排查与测试情况
- 定位核心触发条件:问题与FlatList的
inverted属性直接相关,移除该属性后APP恢复正常 - 排除依赖版本问题:新建仅保留FlatList(含文本项)与PanGestureHandler的项目,更新所有依赖包后问题依旧存在
- 排除特定动画库影响:
- 尝试使用
Animated.FlatList,问题未解决,且inverted属性无法正常生效 - 仅使用React Animated的
Animated.timing创建循环动画,同样会出现APP冻结问题
- 尝试使用
- 可复现性:在Expo Snack中能稳定复现该崩溃(物理设备上拖动麦克风组件至少30秒即可触发冻结)
内容的提问来源于stack exchange,提问作者H Haykel
相关产品推荐
相关产品推荐

