8.1 Setting中,当插入SD卡,会显示两个界面,一个内存显示已使用3.42GB,一个显示已使用3.89GB,差异比较大,如下图
图1
图2
经查看代码,图1代码位置是
vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/deviceinfo/StorageSettings.java 调用的是
mStorageManager = context.getSystemService(StorageManager.class);
final List<VolumeInfo> volumes = mStorageManager.getVolumes();
final File path = vol.getPath();
privateUsedBytes += (volumeTotalBytes - path.getFreeSpace());
也就是调用了File 的 getFreeSp加粗样式ace() 方法。
图2的代码位置是
vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/deviceinfo/StorageDashboardFragment.java 调用的是