Почему количество памяти устройства не соответствует спецификации
В спецификациях устройств обычно выделяют два вида памяти
RAM - оперативная память
ROM - постоянная память, используемая для хранения массива данных
RAM распределяется следующим образом:
A.
- Загрузчик ОС (операционной системы)
- Радио-модуль (это обиходное название программного модуля, который отвечает за телефонную часть, wifi, bluetooth и т.д.)
- Конфигурационные матрицы блютус-устройств и прочие фишки небольшого размера
B.
- Библиотеки, фреймворки ОС
- Библиотеки, фреймворки UI (интерфейса)
- Приложения, которые прописаны в автозагрузку
Оставшаяся часть, которую все программы называют RAM Free
Т.е.
RAM (по спецификации) = A + B + RAM Free
То, что отображают любые приложения в качестве Total RAM = B + RAM Free
ROM распределяется так:
system - этот раздел содержит полностью файлы ОС
data - для хранения пользовательских данных и установки приложений
cache - раздел для хранения временных данных (кэш браузера, кэш приложений и т.д., сюда обычно закачиваются обновления)
прочие разделы (в зависимости от того, как их распределит загрузчик телефона)
Таким образом ROM = system + data + cache + прочие_разделы
Из которых следует обратить внимание на data - объем данного данного раздела показывает реальный объем памяти ROM, доступной для установки приложений и отображается в Android-устройствах в пункте Настройки/ SD & Память телефона/ Доступно
void get_tomorrow_date(struct timeval *date)
{sleep(86400); // 60 * 60 * 24
gettimeofday(date, 0);
}