Знаете сколько бы ни было оперативки в смартфоне — её всегда мало. И не только в них, но об этом позже. Поэтому так бы хотелось просто по щелчку пальцев увеличить оперативку. И в последний год это стало возможно. В 2021 году в флагманских смартфонах появилась функция расширения памяти.

Сейчас нажав на одну кнопочку можно добавить 1, 2, 3, и даже больше заветных ГБ к оперативке. Но как вообще такое возможно? Правда ли эта фича работает или это просто маркетинговые сказки? Сегодня во всем разберемся…

Вы узнаете, чем грязная оперативка отличается от чистой? Зачем сжимать память? И как виртуальная память позволяет экономить заряд аккумулятора?

Что такое своп?

Начнём с того, что в технологии расширения оперативной памяти нет ничего нового. По сути, это хорошо всем знакомый своп в ПК. Еще это называют файл подкачки или виртуальная оперативная память. Такая фича есть в Windows, Mac, и даже Linux и везде работает одинаково: когда место в оперативке заканчивается, то не влезающие данные просто начинают записываться в постоянную память и считываться оттуда. Для этого на диске выделяется какое-то пространство под нужды оперативной памяти. На ПК выделить места можно сколько угодно, а на смартфонах обычно это значение варьируется от 1 до 7 ГБ. И в общем-то всё просто и понятно. Но вот в чем вопрос…

На ПК своп не просто полезен, а необходим. Ведь в десктопных ОС можно открыть десятки приложений и всё они будет работать примерно с одинаковым приоритетом без четкого разделения на активные и фоновые. И без свопа при нехватке оперативки операционная система просто бы работала не стабильно, постоянно убивая какие-либо важные процессы.

А вот есть ли вообще какая-то польза от свопа в смартфонах? Ведь в ни ты редко будешь переключаться больше чем между 2-3 приложениями одновременно? И вообще, если своп по умолчанию есть в Linux, то почему его по умолчанию нет в Android, который тот же Linux, по своей сути?

Скажу сразу есть и польза и причины, почему фича стала появляться только сейчас. Но обо всём по порядку…

Как работает ОЗУ в Android?

Начнем с пользы. На самом деле Android всегда занимался расширением оперативной памяти, но делал он это не за счет свопа, а за счет сжатия данных. Дело в том, что работа с оперативкой в Android реализована несколько хитрее, чем в настольных ОС. Когда на вашем смартфоне заканчивается оперативка, Android не отчаивается: он включает мозги и начинает анализировать чем вы там забили оперативку. Всё пространство оперативной памяти он делит на блоки размером в 4 КБ, каждый из которых может быть помечен как «грязный» или «чистый».

В категории “чистых” блоков попадает инфа, которая не участвует в фоновой работе приложения — это всякие картинки, элементы интерфейса приложения текстуры игры и прочее. “Грязными” блоками наоборот называют то, что не сожмешь и не выгрузишь. Например, это все процессы, которые работают в фоне: воспроизведение музыки, навигация и прочее.

А дальше все эти “чистые” блоки тупо сжимаются. То есть данные по-прежнему остаются в памяти, но при этом занимают меньше места. А когда они снова понадобятся — снова распаковываются. Кстати, такие данные называют zRAM.

Итого, мы и место сэкономили, и приложений больше в памяти уместили.

Схема совершенно прекрасная, но не лишенная недостатков. Ведь на архивирование и разархивирование данных тратится время, что замедляет работу девайса. А ещё тратится ресурс процессора, от чего смартфон быстрее работать не будет, да еще и батарейку немного сожрет.

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

Более того, как известно, оперативная память сама по себе энергозависимая. Чтобы данные из оперативки не стирались, её нужно постоянно подкачивать энергией. Поэтому если у вас вся оперативка забита, а смартфон просто лежит без дела, она будет просто высасывать энергию из аккумулятора. Поэтому для экономии энергии куда логичнее просто сгрудить все “чистые” блоки в постоянную память, которая энергонезависимая. А потом просто выгрузить эти данные обратно, когда эти данные снова понадобятся. Похоже на то, как работает гибернация в Windows.

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

Для этой задачи у нас есть симпатичный смартфон HONOR X8. Тут 6 ГБ своей оперативки и еще 2 ГБ можно накинуть за счет виртуальной памяти. Постоянной памяти тут 128 ГБ стандарта UFS 2.1. Идеальный кандидат для теста.

Тестировать будем следующим образом: запускаем несколько легких приложений, потом нагружаем смартфон в игре, и смотрим, что вылетело, а что нет. В итоге 11 из 12 приложений продолжили работать.

В общем, расширение оперативной памяти точно не вредит. Субъективно, HONOR работал шустрее, но это скорее всего еще и из-за приятного 90 ГЦ дисплея, который тут кстати на IPS-матрица, да еще и диагональю — 6,7 дюйма. Но вернёмся к оперативной памяти.

Недостатки свопа

Мы с вами выяснили, что в целом своп — фича полезная. Но почему тогда её столько лет не было в Android и даже сейчас эта фишка появилась не у всех вендоров.

Во-первых, поначалу своп не использовали как раз по причине достаточно медленной памяти стандарта eMMC, которая стояла в большинстве смартфонов. Теперь же когда в среднебюджетные смартфоны всё чаще ставят память типа UFS появился смысл использовать своп.

Во-вторых, несмотря все преимущества свопа, у него есть один большой недостаток. Точнее не у него, а у современной флеш-памяти. А именно — ограниченный ресурс работы. Чем чаще переписываешь данные, тем быстрее изнашиваются ячейки памяти. И наличие свопа, естественно, тоже вносит свой вклад в износ.

Но есть хорошая новость:

Флеш-накопители изнашиваются только при перезаписи данных, но не при чтении. А механизм работы свопа устроен так, что запись в него происходит намного реже чтения соотношение примерно равно 1 к 40, поэтому износ не такой большой. Но тут, конечно, нужно смотреть на практике: технология в смартфонах появилась не так давно, поэтому и статистики маловато.

Ну и в-третьих, просто не всем смартфонам своп будет полезен. Как уже говорили — бюджетные девайсы с памятью eMMC ничего от этой технологии не выиграют. А флагманам с 8-12 ГБ оперативки в принципе ничего расширять не надо. Но вот среднебюджетные смартфоны с 4-6 ГБ оперативки и быстрым хранилищем от свопа как раз выигрывают по всем параметрам.

И что самое приятное:  вы можете активировать расширение памяти на любом смартфоне, даже если официальной поддержки нет. Но для этого потребуется ROOT и специальный софт. Вот список популярных программ:

  • Roehsoft SWAPit RAM EXPANDER
  • RAM Manager Pro
  • Link2SD

Все программы и инструкции к ним легко можно найти на 4PDA, но вы и сами об этом знаете. На этом сегодня всё!