近年来,安卓手机的存储空间有了显著的提升,很多厂商已经停止生产 64GB 的低容量机型,部分是因为安卓系统和应用程序所需的存储空间也在增加。然而,安卓系统在计算系统组件占用的存储空间时存在严重的错误,并且使用了非标准的单位。
我们通常会使用安卓系统的存储空间使用情况功能来找出占用空间较大的应用和文件,以便在需要时卸载或删除它们。但是,安卓专家 Mishaal Rahman 发现谷歌对安卓系统组件所占空间的计算是有缺陷的。
Rahman 通过执行 shell 命令,在 / data / media / 0 存储目录下创建了一个 3GB 的文件,这个目录并不是用于存放安卓系统文件的。然而,手机的存储空间分析显示,在系统类别下增加了 3GB 的空间占用,表明系统突然变大了,这是因为安卓将除了其他类别(包括音频、视频、图片、文档、回收站和游戏)之外的任何东西都算作系统所占空间,Android 14 也使用了这种有缺陷的逻辑来计算存储使用情况。此外,文件管理器应用也出现了类似的系统组件存储使用增加的情况,可能是因为其使用了同样不可信的计算方法。
其他基于安卓的 UI 也存在同样错误的存储空间计算问题,但据报道三星已经在 One UI 6 更新中修复了这个问题。在进行了与前面实验相同的 ADB 命令后,Rahman 确认了增加的空间占用显示在了其他文件类别下,而不是系统类别下。
IT之家注意到,Rahman 还指出了另一个很小但也很重要的问题,就是安卓计算存储使用情况和智能手机厂商宣传存储容量时使用了不同的单位。大多数人认为手机存储容量是以字节为单位,可以表示为 10 的指数次方。一个千兆字节(GB)有 1000³ 个字节,智能手机厂商也是以千兆字节来宣传存储容量的。而安卓系统则是以吉比字节(GiB)为单位来测量存储空间,即 1024³ 字节,因为它表示为 2 的指数幂。因此,1GB 等于 0.93GiB。由于这种单位差异,智能手机用户可能会认为安装在手机上的安卓系统所占用的 GB 数比实际多。再加上错误的存储使用情况计算,普通安卓用户可能会认为项目所占用的存储空间比实际多。
谷歌需要改正安卓对系统组件所占用存储空间的计算逻辑,并且使用消费者熟悉的 GB 单位来量化所有内容,这也是所有智能手机硬件厂商所使用的单位。