Виртуальная оперативная память в Android

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

Виртуальная ОЗУ имеет схожее назначение, но для хранения данных используется внутренняя память устройства. Упрощенно можно так описать данную технологию: часть встроенной памяти устройства используется как дополнительная (временная) оперативная память, что позволяет увеличить максимальный размер ОЗУ.

К примеру, если смартфон предоставляет 64 Гбайт встроенной и 4 Гбайт оперативной памяти, то если установить в настройках размер виртуальной памяти 3 Гбайт, пользователь в итоге получит 7 Гбайт ОЗУ и 61 Гбайт внутренней памяти.

Данная технология перекочевала из мира компьютеров – принцип работы аналогичен файлу подкачки на ПК. Аналогично настройке параметров свопа пользователь может указать, какую часть внутренней памяти можно выделить для расширения оперативной памяти. Естественно, данное значение не может превышать значение доступной встроенной памяти (обычно можно увеличить на 1-7 Гбайт).

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

Представим ситуацию, когда виртуальная память не используется, а оперативная память условно рассчитана на запуск 10 программ. В этом случае при запуске 11 приложения ОС будет вынуждена автоматически закрыть одно из запущенных приложений. Если пользователь решит вернуться к данной программе, ему придется ожидать, пока она повторно запустится.

При наличии виртуальной оперативной памяти алгоритм меняется. Приложение с меньшим приоритетом не закрывается, а переносится в выделенную область внутренней памяти. Это заметно сокращает время повторной активации.

Есть и определенные ограничения. Внутренняя память стандарта UFS 3.1 значительно быстрее UFS 2.1, но скорость значительно ниже любой ОЗУ. Поэтому система не станет использовать своп для динамичных приложений или игр – задержки будут явно ощущаться пользователем.

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

Если же более детально рассмотреть реальный режим работы свопа, видно, что запись данных в него происходит гораздо реже, чем чтение из него (примерное соотношение 1 к 40). Это означает, что циклы перезаписи происходят гораздо реже, поэтому физический износ памяти маловероятен.

Наибольший прирост производительности при добавлении виртуальной памяти будет у устройств среднего уровня. Обычно они комплектуются ОЗУ 4 или 6 Гбайт, встроенная память имеет стандарт UFS 2.1 – ее характеристики подходят для использования в качестве дополнительной ОЗУ.

Бюджетные модели особой выгоды не получат, поскольку собственная память обычно имеет стандарт eMMC – низкая скорость записи сведет на нет все преимущества технологии. В дорогих устройствах изначально обычно предусмотрено 8-12 Гбайт оперативной памяти, нехватка в процессе работы маловероятна. Поэтому ее расширение не сыграет значительной роли.





Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: