为什么安卓移动的应用缓存被扔的到处都是,而不是像windows那样放到program files里?

论坛 期权论坛 知乎     
匿名知乎用户   2019-4-15 20:22   124   5
安卓手机整理手机存储文件夹时发现不同的app都会在根目录创建一个文件夹写入数据或缓存,部分应用甚至会创建多个文件夹。为什么不统一写入android文件夹中方便管理?究竟是技术问题还是态度问题?
分享到 :
0 人收藏

5 个回复

倒序浏览
知乎可爱用户  2级吧友 | 2019-4-15 20:22:34
你知道 Windows 的 AppData 目录吗,通常位于 C:\Users\你的用户名\AppData\Local(AppData 目录被设为隐藏了,需要打开“显示隐藏的文件夹”选项才能看到),让我们来看看这个目录里面有些什么:
--期权论坛 - 国内最专业的期权社区
--期权论坛 - 国内最专业的期权社区
怎么样,现在你还觉得 Windows“干净整洁”吗?顺便再说一下,这些文件在你卸载软件的时候大部分都不会被自动删除哦。
所以,Windows 和安卓的缓存文件夹乱象根本没有区别,唯一的区别只是 Windows 把“AppData”文件夹隐藏了,普通用户感受不到罢了。普通用户只会发现系统用一段时间后C盘可用空间变少了,而且怎么也找不到原因。
绝大部分磁盘清理工具不能帮我们清理 AppData 文件夹。
手动清理 AppData 也非常困难。因为命名不规范,很多时候根本不知道哪些文件夹和哪些软件有关。意外删除某些文件夹还可能导致某些软件不工作,这简直比安卓还糟糕(删除安卓存储卡中的文件夹至少不会导致app不工作)。
此外,类似 AppData 文件夹的地方可不止一个哦,还有另一个叫 ProgramData 的地方(也是隐藏的,位于 C:\ProgramData),让我们来看看里面有些什么:

--期权论坛 - 国内最专业的期权社区
随便进入一个文件夹看看里面有什么:
--期权论坛 - 国内最专业的期权社区
怎么样,惊不惊喜,意不意外,是不是和安卓一毛一样?这些文件夹在软件卸载时也不会被自动删除哦。
所以,任何可以自由创建文件夹的存储系统最终都会走向混乱,这似乎在某种程度上符合了“热力学第三定律”:孤立系统的熵永不减小。
知乎可爱用户  2级吧友 | 2019-4-15 20:22:35
1.Windows的缓存按照标准应该在环境变量的TEMP文件夹,一般在用户目录。
2.Android的缓存按照标准应该在android文件夹,绝大部份软件都按照这个标准。部分国产软件(主要是bat)不遵守,原因可能是他们要共用一些资源。
另外阴谋论一下,写入android是不用存储权限的(大概),写入其他目录就有理由要权限了?
知乎可爱用户  2级吧友 | 2019-4-15 20:22:36
这个问题其实很好理解。
因为android系统提供的两个应用目录,卸载app后自动清空。
那么问题就来了,以下情况怎么办:
1,app下载的资源,比如歌曲,视频,图片
2,同一个厂的多个app想要共享资源
3,app写的log,有些app闪退崩溃用户会卸载重装,要定位问题需要拿到卸载之前的log
4,播放器类app要扫描全盘的资源文件

所以解决方案就是不使用应用目录,换一个不会被删的sd卡自建目录。
Android Q强制搞了沙盒模式,并给上面问题提供了解决方案,我认为是不错的方案。
知乎可爱用户  2级吧友 | 2019-4-15 20:22:37
技术问题,不存在的。
安卓至少给了两个文件夹让应用放数据和缓存,读写这两个文件夹是不需要权限的,然而国内的应用有多少遵守的
现在google都忍不住了,最新的Q版本已经加入了一个名为“App-scoped storage”的特性,你可以查看我这个回答:https://www.zhihu.com/question/317726480/answer/635546403
如果实在忍不住了,你可以试试存储重定向

知乎可爱用户  2级吧友 | 2019-4-15 20:22:38
产品要求:我们这个应用要把一下数据写入本地,方便下次使用时快捷载入。
程序员:好,我把它写入Android/data/应用专属目录,
产品经理,你这个写法应用卸载后数据还在不在。
程序员:当然不在了。
产品经理:那不行,你得保证卸载后重装依然能够读取恢复。
程序员:行吧,我在存储空间里单独建个目录,不和其他应用冲突。

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:45
帖子:5460
精华:0
赣州市期权网络科技公司版权所有
关于我们
联系我们
加入我们
商务合作
免责声明
积分充值
企业统一社会信用代码
积分规则
网站地图
爱文库
下属网站
官方
新浪微博
微信公众号
下载
表情包
App下载
发布
内容

下载期权论坛手机APP