Я новичок в Android, и я хочу найти свободную память во внутренней памяти. Я использую две функции для поиска свободной памяти, но они показывают мне два разных значения в длинном формате. Я не знаю почему? Вот мой код:Использование встроенной памяти для Android
1) Результат getTIM() функция 558628864
public String getTIM(){
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
String str = Long.toString(blockSize * totalBlocks);
return str;
}
2) Результат ITMStr() функция 914120704
public String ITMStr(){
StatFs statFs = new StatFs(Environment.getRootDirectory().getAbsolutePath());
long blockCount = statFs.getBlockCountLong();
long blockSize = statFs.getBlockSizeLong();
long total = blockCount * blockSize;
String str = Long.toString(total);
return str;
}
Какое значение правильно?
Спасибо! Но я хочу получить полную внутреннюю память. Например, общая внутренняя память составляет 512 МБ, и я хочу показать 512 МБ как общую память устройства. Как я могу это сделать? – zxcdsa980
Я не эксперт, но 'getRootDirectory' должен возвращать корневой раздел, поэтому это должен быть общий объем памяти. –