关于微信、QQ 存储目录变更的一些思考
LufsX
2020年04月21日 00:03

在 Android 上,在各类大厂应用和一堆 SDK 联合下,Android 的内置存储文件夹「日益增长」着。

与 iOS 的 沙盒机制 不同,Android 拥有更加开放、互通的模式,但这也带来了非常严重的问题,比如各类第三方 SDK 争先恐后的将各种用户标识文件(唯一用户 ID)、实时缓存甚至应用数据都往「内置存储」的根目录下塞着,成百上千个文件夹便充斥着手机的内置存储。

微信、QQ 的改动

2020.03.02 QQ 发布了「关于QQ文件本地存储路径变更的公告」,即 QQ 将其原先在内置存储中的文件夹统一迁移到 QQ 的应用私有文件夹  下

微信则在 7.0.13.2 内测版中,也像 QQ 一样将其在内置存储中的文件迁移到微信的应用私有文件夹  下

个人对此改动的看法

微信、QQ 的改动虽然在一定程度上「遵循」了规范,且在改动上为用户带来了不便,即查看微信、QQ 所保存的文件由原先的  变更为  的对应目录下,大大降低了文件搜寻效率。而且在应用写在时,所下载、接受的文件也会一并消失,这显然是不对的。

完全遵守规范应该将应用所要存储的文件、图片、文档、音乐等保存在对应的「标准文件夹下」。依照用户使用习惯,更好的做法是在「标准文件夹」下创建一个能识别对应用名称的文件夹,再将应用文件保存在此目录下。

微信、QQ 非常精明的避开了「完全遵循规范」,只是说明「根据规范」而作出改动,这种不完全遵守可不是什么好现象。。。不仅如此,这还容易让对此感到不便的人把矛头从应用本身指向「规范」,实在是「高明」的话术啊。

该改动的实际表现

将原先的文件夹原封不动的移动到应用私有文件夹,且在私有文件夹下,原来的文件目录、结构完全不变,这就是 腾讯团队 所偷的懒,在应用私有文件夹下,分明可以将日志缓存等文件完全移动至其私有文件夹下的  文件夹下,以便用户或系统在存储空间不足的情况下轻松释放空间

但是,在授予 QQ 存储权限后,便原形毕露,在存储空间里疯狂「拉屎」。也就是说,对于 QQ 来说此改动只是能让你选择拒绝存储权限使用而已。

最严重的是,在 Android 11 DP 上(目前最新为 DP2.1),用户无法通过「常规手段」访问  目录(包括 root shell),且对于目标 SDK 为 11 的应用, 便是真正的私有文件夹,应用只能访问属于自己的那一份。

我对此的期望

真正难以抑制的是各类应用疯狂使用的第三方 SDK 所产生的文件,众多应用都接入一个 SDK,那么那些应用所产生文件,即使在你删除后,也会迅速都重建,几乎与无法删除划等号。

现在也有许多 SDK 滥用  文件夹,在这里面建立起用户标识文件推送日志等「垃圾」。比如「友盟」便会在  等目录下建立用户标识文件,以便与跟踪用户。淘宝甚至还会在  下存储推送日志文件。

希望各类应用能将所接入 SDK 产生的文件重定向至私有文件夹,例如「MT 管理器」、「纯纯写作」都将支付宝 SDK 所产生的文件重定向至应用私有文件夹中,这不仅避免了内置存储的混乱,也让第三方 SDK 功能能够正常使用。最根本的应该是第三方 SDK

Android 生态虽说在慢慢改善,但力度总是不够大,鉴于 Android 的性质以及它所涉及到的庞大领域,各种应用不能有效的、及时的适配。也由于 Android 的开放性和非强制性,大厂们自觉的推行新规范是极其缓慢的,而不像隔壁 iOS 那样的 App Store 强制审核那么激进,iOS 每代都有大改,却因强制措施使得其应用们「与时俱进」。Android 在慢慢的收紧权限的管控、慢慢的规范应用行为,这次期待 Android 11 的改变。

尾巴

这篇文章是一时兴起写的,仅仅写些个人对这些东西的思考,写的可能有所遗漏、不准确。

原文链接:https://isteed.cc/posts/think-about-change-of-tencent/