HarmonyOS鸿蒙Next中同时使用chainAnimation和edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })时,如果正好只有两个item,往上滑动的时候会很卡,并且日志里会持续打印log
HarmonyOS鸿蒙Next中同时使用chainAnimation和edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })时,如果正好只有两个item,往上滑动的时候会很卡,并且日志里会持续打印log
问题描述: list同时使用chainAnimation和edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })时,如果正好只有两个item,往上滑动的时候会很卡,并且日志里会持续打印log
工程机版本:5.0.0.126 DevEco Studio版本:5.0.7.200 SDK版本:5.0.2 Release
更多关于HarmonyOS鸿蒙Next中同时使用chainAnimation和edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })时,如果正好只有两个item,往上滑动的时候会很卡,并且日志里会持续打印log的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,同时使用chainAnimation
和edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })
时,如果只有两个item,往上滑动可能会出现卡顿现象,并且日志中会持续打印相关log。这可能是由于动画和边缘效果的冲突导致的性能问题。建议检查动画和边缘效果的实现逻辑,确保它们不会在特定条件下产生不必要的计算或渲染负担。
这是一个已知的性能优化问题,当同时使用chainAnimation和edgeEffect时,在特定条件下(如只有两个item)会出现卡顿和日志刷屏现象。
根本原因是:
- 边缘弹簧效果(edgeEffect)在列表边界时会持续计算弹性动画
- 链式动画(chainAnimation)需要处理item间的联动关系
- 在只有两个item时,这两种动画效果的叠加计算会导致性能瓶颈
临时解决方案:
- 对于item数量较少的场景(如少于3个),可以动态关闭edgeEffect或chainAnimation
- 或者为小数据量场景单独处理,不使用这两种动画的组合
华为研发团队已经在优化这个交互场景的性能问题,预计在后续版本中会修复。