Скольку ОЗУ нужно Android смартфону?

Не так давно, когда трава ещё была зеленной, а по земле ходили динозавры, возможность приостановить воспроизведение музыки и принять звонок, а после возвратиться к прослушиванию и продолжить с того же места вызывала у нас незыблемый восторг. А про такие вещи, как количество ОЗУ или вообще её наличие, задумывались единицы. Но раньше и электричества не было, а строительство железных дорог вовсе приводило людей (а особенно кучеров) в недоумение. С развитием технологий возрастали потребности человека, и наш карманный помощник не стал исключением.

Несколькими неделями ранее появилась информация о двух смартфонах от китайских компаний-производителей, LeEco и Oppo, с восемью гигабайтами оперативной памяти на борту. В прошлый раз мы рассмотрели вопрос надобности многоядерности, а Сергей написал статью-размышление, тему которой я разберу более подробно.

Предыстория

Быстродействие и плавность работы смартфона зависит от нескольких составляющих, наиболее важные из которых – это процессор, видеоускоритель, ОС и её оптимизация, а также оперативная память. Именно о последней сегодня и пойдет речь.

Оперативная память в смартфоне, как и в компьютере, буферная, иначе говоря, используется для непродолжительного хранения данных, обеспечивая функционирование программного обеспечения. В отличие от постоянной – энергозависима и более быстрая. Является важной составляющей аппаратной экосистемы, работая в паре с другими компонентами, расположенными на SoC. Оперативную память можно по праву считать следующим после процессора залогом быстродействия. Именно этот фактор и является основной причиной их тесного взаимодействия. Обычно обмен данными между ЦП и ОЗУ происходит при участии кэш-памяти. Кэш-память является неким посредником между этими компонентами. Подкачивая из оперативки в процессор данные и выстраивая приоритетность, она возвращает их обратно ОЗУ, но уже в модифицированном виде. В действительности все не так уж сложно.

Оперативную память можно разбить на несколько секций: системная, пользовательская и доступная.

  • Системная – основа ОС. Сюда относят системное программное обеспечение, включая служебные модули и предустановленные производителем дополнения, а также модификацию системы (фирменный интерфейс). Кстати, последняя, сравнительно с “голым” Android-ом, часто занимает в два-три раза больше места в ОЗУ.
  • Пользовательская – память, доступная после загрузки устройства. Бытует заведомо ложное мнение о том, что эта память вся и полностью доступна для последующего использования. Довольно часто производители добавляют в прошивку дополнения (в лучшем случае периодически активирующиеся), которые невозможно очистить с помощью обычных таск-киллеров. К тому же подобные действия имеют скорее негативные последствия, учитывая, что подобного рода утилиты часто используют циклы процессора. Это ещё одна причина их малоэффективности. Добавьте сюда автозагрузку ваших приложений, включая различные мессенджеры (коих у многих по несколько штук), оптимизация которых оставляет желать лучшего, и получите ответ на главный вопрос.
  • Доступная – зарезервированная системой память. ОС изначально “бронирует” определенное количество ОЗУ для предотвращения проблемных ситуаций, рационального использования памяти и быстрого запуска новых приложений.

Если взглянуть на историю развития ОЗУ, можно предположить, что главным девизом производителей было, есть и будет:

Больше, лучше, быстрее.

Перефразируя: “количество, качество, скорость”. И такая тенденция не может не радовать. Впрочем, и здесь есть свои особенности.

Автономность

Увеличение количества ОЗУ взаимосвязано с автономностью устройства. К сожалению, в конкретном примере он имеет негативный оттенок. Это связано с тем, что приложениям доступно больше памяти, соответветственно увеличивается количество фоновых процессов. Каждое действие приводит к последствию. В нашем случае увеличение этих процессов пагубно сказывается на продолжительности работы аккумулятора.

Скольку ОЗУ нужно Android смартфону?

ОС и оптимизация

Android. Начнем с того, что сама по себе ОС – урезанная и модифицированная версия Linux. Если представить систему в виде архитектурных строений, то над уровнем Linux стоит уровень инфраструктуры приложений, который содержит виртуальную машину, программное API, расширения и тому подобного. Здесь используется метод компиляции программного в байт-код, после – преобразование результата в DEX-файл, содержащийся в APK-архиве приложения. Эти файлы в свою очередь использует Dalvik (виртуальная Java машина). Позже заменен на ART. Ключевым отличием ART от Dalvik является способ компиляции приложений. Dalvik делает это во время их запуска, то есть в режиме реального время, что в свою очередь сильно нагружает процессор. С приходом ART разработчики поставили цель исправить эту и ещё некоторые веские проблемы, изменив концепцию реализации. ART преобразовывает код единожды, при установке приложения. Следовательно, последующий запуск приложений осуществляется значительно быстрее. По крайней мере, таковым был замысел обновления, но реальные тесты демонстрируют иную картину. А вот с увеличением размера приложения, за счет чего концептуально и должна ускориться загрузка и воспроизведение, они справились на “отлично”. Также ART имеет непосредственное отношение и к ОЗУ. Учитывая вышеописанные изменения, преобразованный ранее код ускоряет процесс загрузки в первую очередь из-за незначительного потребления ОЗУ. И в тот же момент производители продолжают наращивать её количество.

Скольку ОЗУ нужно Android смартфону?

О времена! О нравы!

Тип памяти

Золотое правило “не количеством, а качеством” применимо и здесь. Более новый тип, например LPDDR4 с 2 ГБ памяти проявит себя гораздо лучше (в плане быстродействия), нежели LPDDR3 с 4 ГБ. Всё дело в использовании более новых технологий, включая отличную частоту шины, уменьшение техпроцесса и тому подобного, что и позволяет достигать увлечения скорости и плавности работы по сравнению с более емкими, но старыми аналогами. Однако главным фактором продолжения гонки ОЗУ можно считать переход на 64-bit версию, что позволило переступить ограничение в 4 ГБ. Сейчас в зависимости от системы этот показатель множится на двузначные, а то и гораздо большие цифры.

Вывод

Достаточно нескольких слов: “Много оперативки не бывает”. По крайней мере, так считает большинство. С ними тяжело не согласиться, если не учитывать несколько важных факторов. Первый и самый главный – автономность. Второй – безответственность разработчиков. Теперь появилась ещё одна причина “взападло” оптимизации. “А зачем?” – спрашивают они. Ведь со временем количество оперативной памяти только множится, соответственно, совершенствуется режим многозадачности и увеличивается объем фоновых процессов. Сейчас можно и не утруждать себя подобными вещами. Однако пользователи думают иначе. И проблема несовместимости – это проблема оптимизации. Но кроме пользователя это не интересно никому. Ни производителю, ни разработчикам. Утрирую, конечно, всегда есть исключение. Впрочем “правило большинства” также повсеместно. Их тоже можно понять. Фишка с флагманскими устройствами со временем нашла отклик в душе даже самых ярых хейтеров. Так зачем останавливать конвейер? Всё, что нужно теперь, – время от времени подкидывать дрова и собирать плоды.

А что же насчет ОЗУ? Ответ на главный, количественный, вопрос – архитектура системы и оптимизация приложений. Это определяющие факторы надобности. На сегодняшний день оптимальным вариантом является 3-4 ГБ четвертого класса.

Автор: Субмарина
18.07.2016 (15:40)