{"id":"mb-20261026-1a333d","kind":"deep","title":"彻底删除的照片为什么还在：安卓相册缩略图缓存与存储权限泄露机制","summary":"在安卓手机上清空相册废纸篓，照片并未真正消失。为了保障相册高帧率流畅滚屏，系统会自动生成缩略图并缓存在隐藏文件夹中；但在删除原图时，系统为了节约计算与读写开销并未同步清理缓存。结合早期宽松的存储权限，第三方普通应用随时能读取这些残留缩略图。本文拆解这一工程设计妥协的前因后果与清理逻辑。","body":"在安卓手机上点下彻底删除，再把废纸篓清空，那张照片真的消失了吗？\n有人把手里的 Pixel 连上电脑，用 Claude Code 扫了一遍手机里的残留文件。\n结果在系统的底层缓存里，一口气扫出了 214,856 张照片和视频。\n整整二十一万多张。\n全是被他彻底删除过的东西。\n时间跨度从 2021 年一路排到 2025 年。\n有 2024 年办签证拍的护照照片；\n有清清楚楚显示完整银行卡号的网银截图；\n有拍下来记密码、五秒钟后就被随手删掉的身份证和信用卡；\n有 2023 年临时截屏的加密货币助记词；\n还有分手当天立刻删掉的私密合照。\n有些照片是他刚按下快门一秒钟就删掉的；\n有些是他清空相册废纸篓后，因为不放心，又反复确认删过三次的。\n结果全都在。\n绝大多数是压缩后的缩略图，还有几十张甚至接近原图大小。\n它们就这么整整齐齐地，按年份日期躺在一个从没打开过的隐藏文件夹里：\nDCIM 下面的 .thumbnails。\n\n看到这里任何人都会问：\n相册明明提示已经永久删除了，回收站也写着三十天后自动抹除。\n为什么底层的缩略图还在？\n这要从手机相册的性能妥协说起。\n现在的手机摄像头，动不动就是几千万像素，一张照片动辄十几兆。\n如果你划动相册、或者快速滚屏找图的时候，手机要去实时解码这几十兆的原图。\n屏幕立刻就会卡成幻灯片，发热掉帧，电池也扛不住。\n所以操作系统的工程师想了一个最直接的办法：缓存。\n你按下快门的瞬间，安卓底层的媒体引擎，就会自动生成一张低分辨率的预览图。\n这张预览图体积很小，直接塞进 DCIM 目录下的 .thumbnails 文件夹。\n当你打开相册滑屏的时候，屏幕上飞速滚动的，根本不是你拍的高清大图。\n全是这个缓存文件夹里的缩略图。\n这也是为什么你在手机里翻几千张照片，能像流水一样顺畅。\n\n但问题就出在删除这一步。\n当你在相册里点下删除、甚至清空废纸篓时，安卓到底做了什么？\n系统做的事情非常简单：\n它把相机目录下的原始文件指针抹掉。\n在底层的媒体数据库 MediaStore 里，把这条记录标记为已删除。\n在文件系统层面，这叫解除链接，耗时不到一毫秒。\n那它顺便去把 .thumbnails 里的缩略图也删了吗？\n答案是没有。\n在安卓的设计里，缩略图缓存是一个只管写入、极少清理的单向队列。\n删原图只要改一个指针，成本极低。\n但要把一个缩略图从成千上万个缓存块里精确剔除，或者去核对几十万张缓存图哪一张已经没有了原文件，需要扫描全盘索引、重新整理数据库碎片。\n这需要耗费计算资源、占用存储读写，还会耗电。\n所以操作系统的逻辑极其偷懒：\n只要手机存储空间没有告急到 99%，系统就默认假装看不见。\n它把原文件扔了，缩略图却永远留在了那个文件夹里。\n哪怕你拍下一张敏感文件，三秒钟之内就删掉，缩略图也早已在后台生成并落了盘。\n这一留，就是三四年。\n\n如果这个文件夹只有系统能看，那最多也就是占几百兆空间的问题。\n但在数字取证领域，这根本不是什么秘密。\n司法取证人员在调查手机时，最常用的一个手段，就是直接去提取 DCIM 下面的 .thumbnails。\n嫌疑人以为把相册全删光就安全了。\n取证软件一扫，所有删掉的照片缩略图一览无余。\n缩略图虽然分辨率缩水，但看清一个人脸、辨认合同字迹、读出银行卡和身份证上的数字，完全绰绰有余。\n更严重的问题在应用权限上。\n在安卓长达十年的迭代里，存储权限给得极其慷慨。\n过去只要一个应用拿到了读取外部存储的权限，它就能把整张存储卡上的所有文件翻个底朝天。\n自然也包括这个隐藏的缩略图文件夹。\n这位作者查了一下自己 Pixel 手机上的应用权限：\n有 27 个应用拿到了存储访问权限。\n天气软件、二维码扫描器、文档阅读器、计算器；\n甚至还有一个 2021 年下载、连自己都忘了的手电筒工具。\n其中有两个应用，每次打开还在执着地索要所有文件访问权限。\n它们不需要开摄像头，不需要看着你拍照。\n只要在后台读取一次这个缩略图文件夹，就能把你在过去几年里自以为彻底销毁的所有照片，全部扫进自己的后台。\n\n谷歌后来注意到了这个巨大的隐私漏洞吗？\n注意到了。\n从安卓 10 和安卓 11 开始，谷歌推行分区存储，也就是 Scoped Storage。\n试图把每个应用关进自己的沙盒，不让它们随意跨目录乱翻。\n到了安卓 13，又进一步细分成了单独的照片与视频权限。\n但老旧应用、侧载工具，以及那些借着文件管理名义索要所有文件访问权的应用，依然能直接穿透这层防护。\n更关键的是，权限限制了别人，操作系统却始终没有修补自己留下的烂摊子。\n相册删除与缩略图清理脱节的机制，在很多安卓版本上依然原封不动地躺在那里。\n\n把这个文件夹直接删掉，手机会不会坏？\n不会。\n它只是一个普通的缓存目录。\n只要用文件管理器打开显示隐藏文件，或者连上电脑，直接把 .thumbnails 文件夹删掉就行。\n下一次打开相册，系统只会为你当前还保留的照片重新生成缩略图。\n那些早就被你删掉的幽灵照片，自然就不会再长出来了。\n一个十年前为了让手机相册滑动不掉帧的性能妥协，就这么在几亿人的手机底层，堆出了一个谁都能偷看的数字废墟。","topic":"彻底删除的照片为什么还在：安卓相册缩略图缓存与存储权限泄露机制","frame_type":["机制"],"citations":[],"channel_note":"","identity_notice":"","source_type":"generated","status":"published","generated_at":"2026-10-26 07:19:05","legal_anchor_count":0,"transcript_citation_count":0,"seo_title":"彻底删除的照片为什么还在：安卓相册缩略图缓存与存储权限泄露机制","description":"在安卓手机上清空相册废纸篓，照片并未真正消失。为了保障相册高帧率流畅滚屏，系统会自动生成缩略图并缓存在隐藏文件夹中；但在删除原图时，系统为了节约计算与读写开销并未同步清理缓存。结合早期宽松的存储权限，第三方普通应用随时能读取这些残留缩略图。本文拆解这一工程设计妥协的前因后果与清理逻辑。","domain":"software","domain_label":"软件与工程","domain_label_en":"Software & Engineering","domain_url":"https://mubeitech.com/deep?domain=software","canonical_url":"https://mubeitech.com/deep/mb-20261026-1a333d","markdown_url":"https://mubeitech.com/deep/mb-20261026-1a333d/markdown","json_url":"https://mubeitech.com/api/interpretations/mb-20261026-1a333d","published_at":"2026-10-26T07:19:05Z"}