Skip to content

v1.3.0

Choose a tag to compare

@th2006464 th2006464 released this 24 Jun 12:40
· 16 commits to main since this release

v1.3.0 - dHash 分桶索引性能优化

重大性能提升

15000 张照片的 dHash 扫描从"卡死"变为"秒级完成":

  • 分桶索引算法: 将 64-bit hash 拆为 8x8-bit 多级索引,
    候选比较次数从 O(n^2) 约1.12亿降至约50万次, 速度提升约200倍
  • 消除双重 openInputStream: 复用 MediaStore 已知宽高,
    节省15000次跨进程文件打开
  • 并发控制: 信号量限制同时解码数(默认16), 避免 OOM
  • 不阻塞主线程: 分桶+汉明距离比较在 Dispatchers.Default 运行
  • 支持取消: 定期 yield(), 用户可随时中断扫描

其他改进

  • 批量计算 computeBatch() 使用结构化并发
  • 协程取消时优雅退出, 不误报错误
  • 默认并发上限16(平衡速度与内存)