1
inorobot 186 天前
我感觉可能是照片流、图片库、iCloud 图库备份这几个串了,iOS 17.5 可能修改了相关索引逻辑或者缓存逻辑或者云端和本地的同步、删除逻辑,扫到了新的或者没删掉的图片。
因为新出现的照片都在最近添加里,应该是 iOS 更新之后照片 app 突然搜到了几张新照片再上传到 iCloud 图库了。 我是出现了几张 22 年已删除的老照片,没有 EXIF 信息,设备还是去年的 15 Pro Max ,新设备启用是全量备份,忘了是 iCloud 里恢复出来的还是直接旧机导入的。 验证的话也很简单,再找个新机器从 iCloud 里备份恢复,然后升级到 17.5 ,肯定还能复现,当然如果是 iCloud 假删除,那真的很顶了。 |
2
412999826 OP @inorobot 我也大概是这个感觉,就是照片的数据库出现问题("Photos.sqlite"、"Photos.sqlite-shm"、"Photos.sqlite-wal"),正常情况应该是删除源文件,并且删除数据库中的信息,但是结果并没有删除源文件。
然后全盘还原备份之后(还原方式包括电脑还原,或 iCloud 还原),这些没被删除的源文件还在,然后就被重新添加了。 我觉得不太会是 iCloud 照片的原因,是因为 iCloud 照片如果出现问题,应该影响全部的设备 |
3
SkywalkerJi 186 天前
@412999826 #2
数据库出现问题是不可以删源文件的。苹果这套逻辑是继承的相机的国际标准,所有相机都是这样的。 包括你说的 DCIM/101APPLE 这个文件夹,APPLE 也是注册来的,每个相机品牌有个唯一的单词,避免 sd 卡混用的时候塞到别家的文件夹里。然后有 101 的话,100 也不是一定不会增加,正常情况下,100 可以塞 1000 张(反正 sony 应该是 1k ),但是如果存储时候发生一些意外,系统会优先保护照片尽可能写入,旧目录有问题的情况下直接另起,因为保护照片是最优先的。 因为相机的工况更恶劣一些,上山下海低温高温,数据库文件损坏是家常便饭。所以数据库文件是不可信的,唯一可信的只有源文件(源文件读不到的情况下,会显示占位符)。 但是苹果这套逻辑自己又魔改了下,奇葩点在于:用户没法手动修复数据库或者强制重建数据库。用户删除照片,竟然是假删除。 |
4
ryansvn 186 天前
iPhone 的照片真的是服了,把照片全部删除,而且清空最近删除,依然占用大量空间,我的有十几个 G ,我甚至有朋友全部删完还占据 35G 。
ps:照片会定期备份 google 相册、群晖、自己的电脑,所以手机很少存。 |
5
yanhuamiluan 186 天前
都 17 了连个照片都搞不定
|
6
412999826 OP @SkywalkerJi 就我之前的使用经验,正常情况下,删除照片就是 DCIM 里面的源文件也会删除,但是我遇到过出现 bug 的,就是明明有照片不显示(其实这个就类似,只清理了数据库,但是源文件没删除)
然后清除掉 "Photos.sqlite"、"Photos.sqlite-shm"、"Photos.sqlite-wal"三个文件,重启重建数据库,就能恢复显示 |
7
Jirajine 186 天前
@SkywalkerJi 是不是假删除你只需要:删除之后空间是否得到释放?释放的空间是否可以直接用来存储新的数据?
满足这两条就不是“假删除”,如果有疑问,参考 unlink 和 free 的行为。 |
8
neptuno 186 天前 via iPhone
所以这就是“系统数据”越来越大的原因吗😄
|
9
nt0p 186 天前
Apple Releases tvOS 17.5.1 to Fix Photos Corruption Bug Causing Deleted Images to Reappear
|