v2.3.1:速度翻倍 + EXIF 元数据修复
这条更新日志里的三件事
v2.3.1 的更新日志原文:
- Dramatically increased file transfer speed, by 2-5x(传输速度提升 2-5 倍);
- Fixed a bug that caused the image/video to be compressed when saving to gallery(修了一个相册保存时静默压缩照片视频的 bug);
- Fixed a bug that EXIF data might not be kept when saving to gallery(修了 EXIF 元数据可能丢失的 bug)。
速度提升 2-5x 是怎么做到的
LANDrop 没有在更新公告里详细披露提速的具体手段,但从当时的技术背景推测:
- v2.0 引入了组播发现,但传输层可能还在做保守的 socket 配置——v2.3 可能把 UDP socket 的 buffer 调大了、多流并行的策略更激进了;
- libsodium 在 ARM64 上的硬件加速(NEON / AES-HW)可能被更充分地利用了;
- iOS 端从 v2.0 起就一直在做 Flutter 端的性能优化(v2.0 引入 Flutter 重写移动端),v2.3 可能是这个优化序列里最显著的一次。
CSDN 上那份 2024 年的对比测试数据(3.33 MB/s)大概率是在 v2.3.1 之前测的——升级到 v2.3.1+ 后相同环境下应该能接近 10-16 MB/s。
相册静默压缩 bug
v2.3.1 之前 LANDrop 从接收端保存照片到相册时,某些机型上会静默做一次压缩(降低分辨率、调整码率)——这个 bug 非常隐蔽,因为压缩后的文件仍然是 JPEG,大部分用户不会刻意去看分辨率和大小的变化。App Store 评论里有几条细心用户反馈过这个问题。
v2.3.1 修复后,接收端保存到相册的照片和发送端字节级一致。
EXIF 保留修复
和静默压缩 bug 同时被发现的 EXIF 丢失问题:拍摄时间、GPS、光圈快门这些元数据会在保存到相册时被部分或全部丢弃。v2.3.1 把 EXIF 块做了完整透传,对摄影师来说这是硬伤级别的修复——没有 EXIF 的照片在 Lightroom 里无法自动按时间线归档。