HarmonyOS Tab + List 性能优化

class Book {
  bookId: string
}

prices = Map<string, Price> // 书本 ID 到价格数据的映射
  tabList = Book[][] // 所有 tab 下的列表

Tabs 下有多个 tab,每个 tab 下都有一个 list,list 的数据来源是 tabList[tabIndex],在构建 ListItem 时会查找 prices 显示书本价格后台会源源不断推送书本的实时价格(比较高频),在收到实时价格后,更新 prices,数据变更会通知相应的 list item 视图重绘。

  • 实际测试发现列表滑动比较卡

  • 于是尝试 LazyForEach 的方式优化

  • 在APP启动后显示第 1 个 Tab 下的列表,此时滑动变得很丝滑

  • 切换 多个 tab 页后,滑动开始变卡

分析后得出初步结论:切换 tab 后,新 tab 以及其下的 list 被构建出来,此时无论可见还是不可见的 tab 下都有各自的 list,当后台推送数据更新 price map 时,各 tab 下有价格更新的 list 项都在重绘。如何控制不可见的 view 不进行重绘?

HarmonyOS
2024-12-18 16:29:36
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get
分享
微博
QQ
微信
回复
2024-12-18 17:46:55
相关问题
HarmonyOS Swiper滑动性能优化
1142浏览 • 1回复 待解决
HarmonyOS web页面的性能优化
948浏览 • 1回复 待解决
HarmonyOS 性能分析和优化
1573浏览 • 1回复 待解决
HarmonyOS App性能优化有指标吗?
1029浏览 • 1回复 待解决
如何在HarmonyOS中进行性能优化
968浏览 • 3回复 待解决
HarmonyOS webview加载速度 性能优化
1312浏览 • 1回复 待解决
如何优化ArkTS应用的性能?
1243浏览 • 0回复 待解决
ArkUI渲染性能深度优化
681浏览 • 0回复 待解决
HarmonyOS list嵌套tab中列表高度变化
1022浏览 • 1回复 待解决
如何优化Flex的布局性能
1543浏览 • 1回复 待解决
性能优化中的组件复用原理是什么
3351浏览 • 1回复 待解决
组件需要多次更新时如何优化性能
2725浏览 • 1回复 待解决
应用性能问题优化方式有哪些?
2004浏览 • 1回复 待解决
鸿蒙系统的性能优化策略有哪些?
593浏览 • 0回复 待解决
应用性能问题定位和优化指导
3748浏览 • 1回复 待解决
如何在鸿蒙系统中进行应用性能优化?
3116浏览 • 2回复 待解决