在做动画时,发现使用react-native库中的animated,部分属性是不支持原生驱动的,比如width/height等
会造成动画的延迟或卡顿,目前猜测是因为两者在不同的线程执行导致,若非要setState更新什么内容,建议将state值转化为动画,通过更新动画来更新UI
之前认为for循环执行的很快,动画有个毫秒级别的延迟没啥影响,但在实际开发中发现两个问题:
处理办法就是把最影响用户的那个动画放到for循环的最后面
RN官方提供的PanResponder
部分操作是在JS线程操作的,繁忙时会有性能问题,而react-native-gesture-handler
都是在UI线程操作的,性能较好,该手势库和react-native-reanimated
动画库搭配更爽。