本文档记录 QYMediaScanner 结合 Android 数据库持久化管线在数播一体机真机上的端到端性能表现与压测数据,为集成方提供并发配置与硬件资源选型参考。
1. 测试环境与基准
- 测试设备:数播一体机真机(4 核 64 位 ARM,Android 12 / API 32)
- 测试语料:网络 SMB 共享目录挂载,包含 4,015 个高规格无损音频文件(DSD、FLAC、WAV、APE、SACD ISO、CUE 分轨等),产出 4,170 首音轨
- 数据库管线:Android Room 批量持久化(单批 300 首,流式批次缓冲队列)
- 指标监测:外部独立工具每秒采样系统 CPU、GPU 频率与负载、SoC 温度、进程常驻内存(RSS)以及 ART 虚拟机 GC 次数
2. 核心性能对比总表
| 性能指标 |
maxWorkers = 1 |
maxWorkers = 2 |
maxWorkers = 3 |
maxWorkers = 4 |
表现与趋势 |
| 总墙钟耗时 |
36.0 秒 |
26.9 秒 |
19.3 秒 |
15.7 秒 |
2.30× 综合加速 |
| 纯元数据探测耗时 |
33.1 秒 |
23.8 秒 |
16.3 秒 |
12.5 秒 |
2.64× 探测加速 |
| Room 数据库写入 |
9.5 秒 |
9.6 秒 |
10.5 秒 |
10.3 秒 |
恒定约 10 秒(与探测并发流水线重叠) |
| 本进程平均 CPU |
15.2% |
18.4% |
23.3% |
26.3% |
4 核归一化,4 线程仅占约单核满载水平 |
| 本进程峰值 CPU |
31.6% |
31.3% |
36.7% |
38.0% |
远未打满 4 核计算能力,留有充裕系统余量 |
| GPU 使用率 |
0.0% |
0.0% |
0.0% |
0.0% |
保持 200MHz 最低节能频率,零 GPU 占用 |
| SoC 平均温度 |
56.9 °C |
58.2 °C |
59.2 °C |
59.6 °C |
温升平缓,仅上升约 2.7 °C |
| SoC 峰值温度 |
58.9 °C |
60.0 °C |
60.0 °C |
61.1 °C |
远低于设备热节流降频警戒线 (85 °C) |
| 进程常驻内存 (RSS) |
204 MB |
203 MB |
202 MB |
204 MB |
恒定约 204 MB,无任何并发内存膨胀 |
| ART 虚拟机 GC |
3 次 |
3 次 |
3 次 |
3 次 |
全程仅 3 次后台并发 GC,0 次前台阻塞 |
| 数据一致性校验 |
100% |
100% |
100% |
100% |
4 轮测试生成的数据库 SHA-256 摘要逐字节完全一致 |
3. 关键结论与集成建议
3.1 极佳的端到端吞吐
- 在
maxWorkers = 4 配置下,扫描并解析 4,015 个高规格音频文件(含封面提取、标签分析和 CUE 展开)并完整写入 Room 数据库仅耗时 15.7 秒(平均每秒处理超过 265 首歌曲)。
- 原生探测与数据库写入通过带有缓冲的流式批次队列实现无缝重叠,I/O 等待与数据库持久化完全并行化。
3.2 卓越的温控与资源占用
- CPU 负载轻:4 线程全速扫描期间,本进程平均 CPU 仅为 26.3%,系统整体 CPU 使用率低于 50%,不会引起系统掉帧或发热卡顿。
- 温度极低:全负荷扫描期间,CPU 最高温度仅 61.1 °C,温升仅约 2.7 °C,完全无需担心散热不良引发降频。
- 内存无抖动:采用零拷贝流式回调后,堆内存平稳,常驻内存保持在 204 MB 左右,全程无任何前台 UI 阻塞性 GC。
3.3 推荐集成配置
| 场景 |
推荐 maxWorkers |
推荐 batchSize |
说明 |
| 数播一体机(4 核 SoC) |
2 ~ 4 |
300 首 |
平衡扫描速度与能效,实现最快速度建库 |
| 便携 HiFi 播放器(电池供电) |
2 |
300 首 |
兼顾扫描速度与电池续航,发热控制更优 |
| 外置 USB 移动硬盘 / NAS |
4 |
300 首 |
充分利用多线程重叠网络及 USB I/O 延迟 |