QQ偷偷删图片被抓现行?谈谈安卓存储目录的乱象

[PConline杂谈]最近 , QQ偷偷删图片一事闹得沸沸扬扬 。 有网友观察到 , 在EMUI手机ROM当中 , 会提示QQ试图删除图片 , 而这张图片是近期和腾讯利益相关的“阅文新合同”的截图 , 网友怀疑QQ会监测图片内容、并试图删除对腾讯不利的图片文件 。
QQ偷偷删图片被抓现行?谈谈安卓存储目录的乱象
文章图片

QQ会偷偷删图片?只是一场误会
但真相真的如此吗?当然不是 。 腾讯和华为很快就进行了回应 , 表明QQ删除的是缓存文件 , 并非是用户手动保存的图片 , QQ并不会对特定图片采取删除措施 。 而这个误会 , 是由于QQ未遵循安卓规范、导致缓存图片被误判为普通图片引起的 。
QQ偷偷删图片被抓现行?谈谈安卓存储目录的乱象
文章图片

QQ官方回应 , 删除的只是缓存图片
实际上 , 除了QQ外 , 安卓APP不规范使用安卓存储已经司空见惯 。 我们经常可以观察到安卓相册中满布莫名其妙的图片 , 或者安卓存储目录到处是乱七八糟的文件夹 。 为什么会变成这样子呢?今天就来说说安卓目录的乱象吧 。
安卓相册为何乱糟糟?QQ被误会的根本原因正如QQ删除图片引起的误会一样 , 安卓存储目录的乱象也是由于APP的不规范行为引起的 。 先来说说安卓对图片存储方面的规范吧 。
安卓相册之中 , 之所以会出现各类杂乱图片 , 是因为安卓会对存储目录进行扫描 , 并将扫描到的图片们都在相册当中显示 。 很多用户认为 , 这个机制不尽合理 , 因为扫描全盘图片会令APP的缓存例如杂七杂八的、头像广告图 , 都被扫描到相册中显示 。 然而 , 安卓其实早已经想到了这点 , 相册混乱的锅安卓还真不该背 。
QQ偷偷删图片被抓现行?谈谈安卓存储目录的乱象
文章图片

安卓相册为什么经常有乱七八糟的图?
在安卓的规范当中 , 如果某个目录的图片不想被相册扫描到 , 可以在目录当中生成一个.nomedia文件 , 标明这个目录中不存在媒体文件 , 图片就不会在相册中被显示出来 。 然而 , 很多APP都没有去做这一步 , 这就导致安卓相册被加了很多料 。
本次QQ被提示试图删除图片 , 也是因为如此 。 QQ并没有在缓存图片的文件夹中添加.nomedia , 这导致EMUI将QQ缓存图片识别为普通图片 , QQ自动清理缓存时 , 自然也会被EMUI提示有删除图片的行为 。
换言之 , 只要QQ按照安卓规范 , 在缓存目录中添加.nomedia文件 , 就不会产生这个问题 。
乱七八糟的安卓存储目录有救吗?【QQ偷偷删图片被抓现行?谈谈安卓存储目录的乱象】安卓混乱是不只有相册 , 文件目录也是一团糟 。
和iOS相比 , 安卓的一大便利之处在于更为开放的文件系统 , 用户可以在安卓机的存储目录下随意读写文件 。 但是 , 这也带来了问题 , 不少人发现 , 安卓机用久了以后 , 存储目录下就会多出很多奇奇怪怪的文件夹 , 这到底是哪来的呢?
QQ偷偷删图片被抓现行?谈谈安卓存储目录的乱象
文章图片

安卓存储目录各种杂乱的文件夹哪来的呢?
这些文件夹其实是由各类APP创建的 , 不少APP会在安卓存储目录下生成自己要用到的目录 。 百花齐放下 , 安卓的存储目录变得越来越令人眼花缭乱 。
然而 , 安卓并非对此坐视不理 。 实际上 , 安卓也有APP建立存储目录的规范 , 例如安卓系统规定APP如果要在内部存储空间建立文件夹 , 需要建立到/data/data/目录下 , 在外部存储空间则需要建立在/sdcard/Android/data/目录下 。 APP在这些目录创建文件夹有个好处 , 那就是当APP卸载的时候 , 相应的文件夹也会被删除 , 而不会像现在那样 , APP卸载了 , 它创建的乱七八糟的文件夹依然存在 , 让人烦不胜烦 。
为什么安卓APP会不遵循规范呢?这里面存在历史遗留问题 。 安卓机的内部存储目录一度非常小 , 例如经典的Milestone的ROM只有512M , 需要用SD卡扩展存储空间 , 因此安卓APP往往会将文件保存在外部存储目录下(也就是sdcard目录) 。 而安卓在4.3版本前并没有提供外部存储目录的规范 , APP习惯在sdcard目录中随意建立自己的文件夹 , 这个习惯一直保留到如今 。
现在 , 尽管安卓建立了sdcard目录的存储规范 , 然而这一规范并非是强制性的 。 很多APP由于使用第三方SDK等各种各样的原因 , 视安卓的存储目录规范不见 , 依然在sdcard目录下自建文件夹 , 安卓存储目录的混乱由此而来 。
不过 , 在新版的安卓系统中 , 这个现象有望得到改观 。 在安卓9和安卓10中 , 安卓开始限制APP创建的文件夹;到了安卓11 , 系统将不再允许APP在sdcard建目录和文件 , APP只能够往特定目录的私人文件夹写入数据 。 目前某些APP已经开始为此做准备 , 例如新版QQ将存储目录从/sdcard/tencent/变更到了/sdcard/Android/data/com.tencent.mobileqq/Tencent/ , 就是为了适应安卓的存储新机制 。
总结总的来说 , 当前安卓的存储目录依然是比较混乱的 , 但随着安卓11的发布 , 这个现象有望得到改善 。 并不是所有的安卓机都能够用上安卓11 , 也希望各类APP尽快抛弃历史包裹 , 规范自己的存储目录 , 带来更少的垃圾文件 , 也避免“偷删图片”这类误会发生 。


    推荐阅读