android/Kotlin: 音频文件下载到 SD 卡后做 MD5 校验速度太慢

2020-10-09 15:26:36 +08:00
 sprinter

请教各位:

我的 APP 需下载音频到 SD 卡指定目录做离线播放用, 现在发现个别文件下载不完全, 所以想下载后做 MD5 检验, 但是 MD5 检验要读取整个音频文件拖慢 APP 速度.

我试着读取文件到更改日期来取代 MD5 检验,但是令我大跌眼镜的是文件下载后, 它的更改日期会变为当天. 请问有没有更加快的文件完整型校验方法吗?

有人建议说用 etag, 但我文件下载后移到 SD 卡指定目录后 etag 还有用吗?

谢谢!!

2237 次点击
所在节点    程序员
11 条回复
gdtdpt
2020-10-09 15:37:29 +08:00
直接对比文件大小不行吗
GM
2020-10-09 15:48:17 +08:00
看你用的是什么下载方式了,如果可能的话,封装下载部分代码,拦截获取到的数据流,写入到 MD5 摘要流中,这样等你下载完了,MD5 也立刻就算出来了。
cq65617875
2020-10-09 15:51:21 +08:00
楼上加一 边下边摘
sprinter
2020-10-09 17:45:26 +08:00
ding-----------------------
LGA1150
2020-10-09 17:52:24 +08:00
MD5 慢?那这文件有多大…
sprinter
2020-10-09 20:47:35 +08:00
ding-----------------------
sprinter
2020-10-09 21:43:55 +08:00
ding-----------------------,,
tanghongkai
2020-10-09 21:55:43 +08:00
@sprinter 没有必要 spam
LostPrayers
2020-10-10 10:05:51 +08:00
算法慢可以试试 换 CRC 校验,如果是文件打开慢,那只能另建一个数据库维护下载成功的信息了
GM
2020-10-10 13:02:32 +08:00
@sprinter 我在#2 楼给你的方案几乎是最佳方案了,你看都不看一眼的吗?
sprinter
2020-10-13 08:02:25 +08:00
@GM 谢谢您 我看了, 我在尝试, 对我比较难, 我还是新手 ..

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/713347

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX