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

3 回复

升级到api15 beta2版本后可解决

更多关于HarmonyOS鸿蒙Next中同时使用chainAnimation和edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })时,如果正好只有两个item,往上滑动的时候会很卡,并且日志里会持续打印log的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,同时使用chainAnimationedgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })时,如果只有两个item,往上滑动可能会出现卡顿现象,并且日志中会持续打印相关log。这可能是由于动画和边缘效果的冲突导致的性能问题。建议检查动画和边缘效果的实现逻辑,确保它们不会在特定条件下产生不必要的计算或渲染负担。

这是一个已知的性能优化问题,当同时使用chainAnimation和edgeEffect时,在特定条件下(如只有两个item)会出现卡顿和日志刷屏现象。

根本原因是:

  1. 边缘弹簧效果(edgeEffect)在列表边界时会持续计算弹性动画
  2. 链式动画(chainAnimation)需要处理item间的联动关系
  3. 在只有两个item时,这两种动画效果的叠加计算会导致性能瓶颈

临时解决方案:

  1. 对于item数量较少的场景(如少于3个),可以动态关闭edgeEffect或chainAnimation
  2. 或者为小数据量场景单独处理,不使用这两种动画的组合

华为研发团队已经在优化这个交互场景的性能问题,预计在后续版本中会修复。

回到顶部