首页 > 解决方案 > Android:如何识别设备型号使用 GB 还是 GiB

问题描述

我们的应用程序要求在我们的科尔多瓦混合应用程序的屏幕内显示设备的存储统计信息。我们能够从操作系统获取以字节为单位的统计信息。据观察,一些设备型号使用 1000^3 作为基础将字节转换为 GB,而其他设备型号使用 1024^3。为了识别正确的转换基数,实现了以下代码。

 _setConversionFactor(totalBytes) {
        var storageMaxPossibleValues = [1,2,4,8,16,32,64,128,256,512,1024]

        var convertedValue = totalBytes * 100 / (this.conversionBaseValue) / 100;

        if(!storageMaxPossibleValues.includes(Math.round(convertedValue))){
            this.conversionBaseValue = 1 << 30;
        }
        console.debug("conversion base-> "+ this.conversionBaseValue);
    }
this.conversionBaseValue 的初始值为 10e9。这个实现对吗?有没有更好的方法来实现这一点?

标签: javascriptandroidcordovaconverters

解决方案


推荐阅读