Flutter 3.44.9 鸿蒙长列表性能实测 Demo,对比 1000 条数据全部构建与按需构建的首帧、滚动和内存表现。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |
Flutter 3.44.9 HarmonyOS List Performance Demo
「任务流水台」用于对比 1000 条数据在两种列表实现下的首帧构建行为:
SingleChildScrollView + Column:首帧创建全部 1000 个列表项。ListView.builder:只创建屏幕附近需要显示的列表项。itemExtent:提前提供固定行高,减少滚动时的尺寸计算。scrollCacheExtent: ScrollCacheExtent.pixels(320):使用新类型配置预构建范围,兼顾滚动手感和资源占用。FrameTiming:点击速度表按钮后,统计滚动过程中的总帧数和超过 16 ms 的慢帧。
项目不依赖第三方插件,使用 Flutter 3.44.9+ohos-0.0.1-canary1,已在
HarmonyOS 7.0.0.105 (API 26) 真机验证。
真机效果
| 按需构建 | 全部构建 |
|---|---|
![]() |
![]() |
| 按需构建滚动测试 | 全部构建滚动测试 |
|---|---|
![]() |
![]() |
运行
export PATH=/Users/von/Developer/flutter-oh-3.44.9/bin:$PATH
flutter pub get
flutter analyze
flutter test
flutter run -d <ohos-device-id>
真机安装需要本机调试签名。请使用 DevEco Studio 打开 ohos 目录,
在 File > Project Structure > Signing Configs 中生成签名,不要提交证书信息。
性能采样
页面会输出 LIST_BENCHMARK 日志,并显示首帧耗时和首帧创建的列表项数量。
点击速度表按钮后还会输出 SCROLL_BENCHMARK。如需从冷启动直接进入某种模式,可使用:
flutter run --profile --dart-define=LIST_MODE=lazy
flutter run --profile --dart-define=LIST_MODE=eager
系统侧内存可以通过 HiDumper 查看:
hdc shell "hidumper --mem $(pidof com.xjcyber.flutter_ohos_list_performance_demo) --show-dmabuf"
首帧耗时会受到调试模式、设备温度和后台负载影响,应多次采样,不把单次数据当成绝对结论。
License
MIT



