HarmonyOS Tab + List 性能优化

class Book {
  bookId: string
}

prices = Map<string, Price> // 书本 ID 到价格数据的映射
  tabList = Book[][] // 所有 tab 下的列表
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

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 性能分析和优化
1207浏览 • 1回复 待解决
HarmonyOS Swiper滑动性能优化
741浏览 • 1回复 待解决
HarmonyOS webview加载速度 性能优化
987浏览 • 1回复 待解决
ArkUI渲染性能深度优化
264浏览 • 0回复 待解决
HarmonyOS web页面的性能优化
699浏览 • 1回复 待解决
HarmonyOS list嵌套tab中列表高度变化
654浏览 • 1回复 待解决
如何优化Flex的布局性能
1246浏览 • 1回复 待解决
HarmonyOS App性能优化有指标吗?
821浏览 • 1回复 待解决
如何在HarmonyOS中进行性能优化
407浏览 • 3回复 待解决
如何优化ArkTS应用的性能?
913浏览 • 0回复 待解决
应用性能问题定位和优化指导
3358浏览 • 1回复 待解决
鸿蒙系统的性能优化策略有哪些?
269浏览 • 0回复 待解决
应用性能问题优化方式有哪些?
1604浏览 • 1回复 待解决
组件需要多次更新时,如何优化性能
2423浏览 • 1回复 待解决
使用HiDumper命令行工具优化性能
1747浏览 • 1回复 待解决