如何检查三星设备上的存储空间是以 10 为基数还是以 2 为基数计算的?

问题描述 投票:0回答:1

我的 Android 应用程序有一个页面,显示手机的可用存储空间和总存储空间大小。为了获取存储信息,我使用了此stackoverflow答案中描述的解决方案。

此解决方案循环遍历所有存储卷,将总空间相加并以字节为单位返回结果。

我在各种设备上对其进行了测试,其中大多数返回了可被 10 整除的精确值:例如,对于华硕 128GB 设备,我得到了 128000000000 字节,对于旧款 Pixel 32GB 设备,得到了 32000000000 字节。

但是当我在三星设备上测试时,它返回 274877906944 字节(base2 为 256GB)。 现在,我的应用程序 UI 显示三星 256GB 设备的总存储空间为 275GB,这让用户感到困惑。我是否错误地假设任何 Android 设备上可用的物理字节总是能被基数 10 整除?

当我检查其他第三方文件管理器应用程序(包括Google Files)上的存储信息时,无论哪个制造商,它们似乎都显示正确的存储信息。

所以我的问题是:这些应用程序如何知道在计算存储空间时何时使用基数 10 或基数 2?

android samsung-mobile samsung-galaxy
1个回答
0
投票

一个简单的技巧 - 以 2 为基数的数字永远不能被 10 整除。因此,如果大小 % 10 不为 0,那么它就是以 2 为基数的大小。

© www.soinside.com 2019 - 2024. All rights reserved.