Repository navigation
DataBackup v3.13.3
·
22 commits
to main
since this release
这次修的是 OPPO(ColorOS) 上反馈的一个问题:恢复相册备份之后,打开系统相册,照片全都不见了。
查下来,删照片这件事和直觉不一样。ColorOS(以及 Android 11 之后的所有系统)删除媒体文件时,不把文件搬走,而是原地改个名字 —— 在原名前面加上 .trashed-<到期时间戳>-,文件本身还留在原来的目录里。相册看不到它,是因为系统媒体库(MediaStore)里对应那条记录被标成了「已删除」;等 30 天到期,系统才会真正把文件清掉。
问题就出在这里:那些"已删除"的文件还躺在 DCIM、Pictures 里,备份时自然被一起打进了归档。恢复回来之后系统再扫一遍,看到 .trashed- 这个名字,又把它们判成"已删除" —— 相册不显示,30 天后被清得一干二净。用户看到的就是「恢复完照片全没了」,其实那一瞬间照片还在磁盘上。
现在备份和恢复两侧都会跳过这类文件:备份不再收它们,恢复旧归档时也不会把它们放出来。顺带的好处是备份体积也会小一点。
有一点要说明:这个机制不是 OPPO 独有的 —— 小米、三星等 Android 11 以上的机型同样如此,只是这次反馈来自 ColorOS。所以这个修复对所有设备都适用。
顺带两个小提示:
- 如果你之前恢复出来的照片"消失"了,看看文件名是不是
.trashed-数字-开头 —— 是的话,把前缀去掉、让相册重新扫一遍就能看见 - 如果恢复后发现照片变少,检查「设置 → 干净恢复」是否开着 —— 它会在解压前先清空目标目录
文件:DataBackup-3.13.3-arm64-v8a-alpha-release.apk(15,352,684 字节)、DataBackupFTPServer-v2.5.exe。