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

А чего тут думать? Чем больше памяти, тем лучше, это же очевидно! По крайней мере производители именно в этом пытаются нас убедить. Вы всё ещё сомневаетесь? Чтобы правильно ответить на этот вопрос, давайте для начала разберемся, как в принципе Android работает с оперативной памятью.

Android и оперативка

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

Примерно, вот так:

Сколько "оперативки" нужно Android - схема распределения памяти

  1. Весь объем оперативной памяти
  2. Системная невыгружаемая область
  3. Пользовательская область
  4. Свободное место
  5. Пользовательская автозагрузка
  6. Пользовательские приложения

Как вы наверное поняли, первое – это ядро системы Android, служебные модули и сервисы, а кроме того, ПО добавленное производителем устройства при “улучшении” системы, и тут может быть что угодно – программа для обновления по воздуху, слежение за глазами, пробуждение при помощи жестов, беспроводный обмен файлами, ПО для фирменных аксессуаров, типа чехлов с окошками или стилуса, встроенный бэкап, менеджер тем, короче – уникальные настройки и функции не реализованные в чистом Android или сделанные производителем “по другому”. В общем, это все те проприетарные уникальные фишки при помощи которых вендоры борются за предпочтения пользователей – надстройки над ОС, которые мы привыкли называть фирменными оболочками (TouchWiz, LG UI, EMUI, Vibe UI, MIUI и т.д.). Как вы понимаете, в большинстве случаев обычный пользователь не может влиять на состав системных модулей и, следовательно, на объем памяти, который занимает система при загрузке. Или его возможности в этом плане очень сильно ограничены – есть вещи которые нельзя отключить, или они всё равно работают, даже если кажется, что вы их выключили. Кроме того, пользователю не дано право закрывать программы и сервисы, которые висят в данной части оперативной памяти – вы их просто не видите в меню многозадачности.

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

Но всему есть предел. И он наступает раньше, чем вы могли бы предположить. Система Android изначально резервирует определенное количество оперативной памяти для быстрого запуска новых приложений и старается держать её все время свободной. На этапе использования пользовательской части оперативной памяти начинает работать так называемая вытесняющая многозадачность, когда для ускорения запуска нового приложения используется свободная область оперативки, а следом система начинает “прибивать” ранее запущенные приложения, стремясь вернуть свободный объем к заданному значению. Обычно, это около 10-20% всего доступного объема оперативной памяти, или 200-300 МБ (зависит от настроек использования памяти). При этом ОС Android сама решает, какие приложения оставить в памяти – на основе приоритетов и частоты использования, но это уже другая история. Если приложение слишком тяжелое, например, какая-нибудь игра, и резервируемого свободного объёма не хватает, система сразу закрывает часть “старых”, запущенных ранее приложений, оставляя только их пуш-модули и выделяет оперативку под новые задачи снова и снова.

Итак, с механизмом взаимодействия Android и оперативной памяти в примитивном изложении мы разобрались (на самом деле там очень много тонкостей и нюансов), перейдем к конкретным цифрам.

Так всё же, сколько “оперативки” нужно Android для нормальной работы?

И тут сразу стоит отметить следующее. “Чистый” Android и основанные на нем AOSP прошивки и тот Android, что предлагают нам производители устройств, очень сильно отличаются по аппетитам в отношении оперативной памяти.

Например, рассмотрим ситуацию на примере “среднестатистического” флагмана LG G4, работающего под управлением Android 6.0 Marshmallow. Сразу после загрузки ОС можно определить, сколько памяти занимает наша система, а именно, ядро, сервисы и все программы, которые производитель поставил в автозагрузку. Обычно, на сегодняшнем этапе развития, это 500-600 Мб для самого ядра системы Android. Еще около 120-150 МБ займут дополнительные служебные модули, типа ПО мобильной передачи данных, Wi-Fi, Bluetooth, определения местоположения и прочего (Система Android). Сервисы Google Play – 70-80 МБ. Графический интерфейс системы – 150-200 МБ. И рабочий стол (куда ж без него) – 60-80 Мб. Путем несложных расчетов получаем около 800-900 МБ необходимых для базового функционирования системы. Короче, гигабайта оперативки считайте уже нет. Это у LG так. А, например, у Samsung система займет еще больший объем – 1,2-1,5 ГБ.

В случае с “чистым” Android, по моим наблюдениям, дела обстоят значительно гуманнее – эти цифры меньше примерно в 1,5-2 раза – всего 400-600 МБ!

Для примера сравним показатели использования оперативной памяти на трех смартфонах, работающих под управлением Android Marshmallow и топ потребления памяти за последние 3 часа.

LG G4 (официальная прошивка Android 6.0, 3 ГБ RAM):

Google Nexus 6 (Android 6.0.1, 3 ГБ RAM):

Samsung Galaxy Note 2 (CyanogenMod 13, 2 ГБ RAM):

Итак, можно сделать следующие выводы. Для нормального функционирования Android нам необходимо выделить около 500-600 МБ оперативки под системную область в случае с AOSP-прошивкой и не менее 1-1,5 ГБ для проприетарной прошивки с оболочкой. Естественно, речь идет о флагманах. В бюджетные и среднебюджетные аппараты производители не запихивают столько “уникальных” функций, поэтому необходимый объем системной части оперативки может сократиться до 300-400 МБ (в зависимости от модели смартфона).

Теперь перейдем к пользовательской части оперативки. Что касается обычных приложений, которыми мы пользуемся каждый день, то их потребности в оперативной памяти очень сильно разнятся. От 10-20 КБ для самых простых утилит до десятков и сотен мегабайт для более сложных приложений и игр. Причем, этот объем не фиксирован, запросы постоянно меняются в зависимости от системных настроек, выполняемых пользователем операций и вызываемых функций приложения. В любом случае, для обеспечения нормальной многозадачности нам бы хотелось, чтобы в оперативке находилось 5-10 обычных приложений, или около 5-7 приложений и игра, получается, что в среднем это 600-800 МБ. Не забываем про постоянно поддерживаемое системой свободное место и получаем около 1 ГБ необходимой оперативки – именно такой объём будет оптимальным для пользовательского раздела.

Конечно, потребности пользователей очень сильно разнятся. Однако, 2 ГБ оперативки – именно такой объем я считаю минимально необходимым в Android-смартфоне на сегодняшний день. Для совершенно нетребовательных пользователей, которые еще и не играют в игры на своём смартфоне, будет достаточно и 1,5 ГБ. Но, следует учесть, что если для среднебюджетного аппарата, или флагмана на AOSP 2 ГБ будет хорошим значением, то для флагмана с кучей фишек в проприетарной оболочке – уже впритык, и вы, скорее всего, начнете замечать нехватку оперативной памяти в виде недостаточной многозадачности – первоначально запущенные приложения будут закрываться в фоне и при повторном обращении к ним софт будет запускаться заново. Кроме того, нехватка свободной оперативной памяти приводит к лагам и увеличению времени запуска приложений, ведь чтобы запустить новую задачу, системе надо закрыть старую программу, а на это уходит определенное время. Именно поэтому на данный момент производители стараются устанавливать 3 ГБ оперативной памяти в свои флагманские устройства. И такой объем в принципе можно считать достаточным для любого топового устройства. А вот нужно ли больше? Давайте разбираться.

Увеличенные энергозатраты как обратная сторона улучшенной многозадачности

Чем больший объем оперативки доступен системе Android, тем больше приложений может быть запущено в фоне и тем больше памяти каждое приложение может “попросить” у системы. Стоит ли потакать таким запросам? Вот это уже следующий вопрос, который мы рассмотрим.

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

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

Вместо выводов: крик души

Хочу отметить следующий факт с которым вы можете согласиться или оспорить его в комментариях. Пользовательский опыт в современных смартфонах не меняется со времен Android 4.х. При этом растет объем оперативной памяти, которую производители устанавливают в устройства, да и ёмкость аккумуляторов постоянно увеличивается. Я помню времена, когда 2000 мАч и 1 ГБ считались топовыми характеристиками. Сейчас мы имеем 3-4 ГБ и 3000-4000 мАч. И смартфоны по прежнему живут от силы один световой день. И всё это происходит на фоне постоянного увеличения производительности SOC с одновременным улучшением их энергоэффективности. Конечно, на эту ситуацию очень сильно влияет и увеличение разрешений экранов, не зря я упомянул об этом в начале своего повествования. Ведь данный “прогресс” также напрямую связан с необходимостью увеличения объема оперативной памяти, которую помимо приложений использует и видеоускоритель, так как для рендеринга большего количества пикселей необходимо выделить еще больше оперативки.

android-ram-04

Фактически, мне кажется, что индустрия смартфонов топчется на месте. Единственный заметный прогресс наблюдается в камерах – тут уже не поспоришь – улучшения налицо. Но во всем остальном – хочется крикнуть: “Астанавитесь! ©”. Последние анонсы новинок на MWC 2016 только окончательно подтверждают мою основную мысль – ничего нового, кроме увеличения характеристик. Разве что, у LG получилось создать нечто оригинальное, представив новую концепцию модульного смартфона LG G5, за что им и была присвоена награда за лучший смартфон выставки.

Когда вы радуетесь очередному смартфону в котором производитель увеличивает объем оперативной памяти, задумайтесь. Действительно ли это улучшение в вашу пользу? Подозреваю, что скорее всего, нет. Больше всего это улучшение нужно самому изготовителю устройства, чтобы обеспечить возросшие системные требования программного и аппаратного обеспечения. В итоге имеем инновации ради инноваций и последующую продажу увеличенных характеристик покупателям при помощи хитрого маркетинга. И все бы хорошо, но без серьезного прорыва в области технологии аккумуляторов для мобильных устройств, картина продолжает оставаться крайне печальной.

Ваше мнение:

Сколько оперативной памяти необходимо Android-смартфону?

Показать результаты

Загрузка ... Загрузка ...

РЕКОМЕНДУЕМ! СВЕЖЕЕ ВИДЕО НА НАШЕМ YOUTUBE-КАНАЛЕ:

  • smallnad

    Вначале, я как всегда кипятился. Ну почему андроиду? Ведь все пользовательские системы действуют по сходным принципам. Но цифры в итоге оказались примерно в два раза больше, чем нужно моим windows устройствам. Кстати, айфон тоже не жадный до ресурсов. А так, новоприобретённая люмия 550 вполне среднебюджетная нормально работает на гиге. Топовая 1520 на 2-х. Притом, если составлять wish list после долгого периода использования фаблета, увеличение объема оперативки будет там точно не на первом месте. Но вот, что я хотел сказать по результатам вашего артикля. Не кажется ли вам, что правильно схваченный вами момент стагнации в развитии смартфонов связан с близости к исчерпанию возможностей пальцевого тача? То есть большего оттуда не выдоить.

  • smallnad

    Вначале, я как всегда кипятился. Ну почему андроиду? Ведь все пользовательские системы действуют по сходным принципам. Но цифры в итоге оказались примерно в два раза больше, чем нужно моим windows устройствам. Кстати, айфон тоже не жадный до ресурсов. А так, новоприобретённая люмия 550 вполне среднебюджетная нормально работает на гиге. Топовая 1520 на 2-х. Притом, если составлять wish list после долгого периода использования фаблета, увеличение объема оперативки будет там точно не на первом месте. Но вот, что я хотел сказать по результатам вашего артикля. Не кажется ли вам, что правильно схваченный вами момент стагнации в развитии смартфонов связан с близости к исчерпанию возможностей пальцевого тача? То есть большего оттуда не выдоить.

    • 1. Не секрет, что реальная многозадачность требует большего количества памяти. В упомянутых Вами Windows и iOS она урезанная, фактически, только пуш-модули висят в памяти и то, непонятно как. В общем, политика фонового режима там реализована по другому. Фокус всегда на активное приложение. Поэтому и оперативки нужно меньше.В андроид же фоновое приложение имеет такие же права на память, как и активное, оно фактически открытым остается, но не выводится графический UI (хотя, можно, например, совершить какое-либо действие из шторки или меню расшаривания). Конечно, для полноценной работы в фоне необходимо больше памяти.

      2. Связи застоя именно со способом общения с системой (пальцевый тач) я не вижу. В принципе меня все устраивает в плане производительности, интерфейса, функциональности и т.д. Возможно, большего и не надо на данном этапе. Причем скорее всего – не надо. Но производителям же надо продавать новые гаджеты, вот они и давят цифрами характеристик. Я против этого протестую :) Основную проблему я вижу в автономности экосистемы. Вот тут – стагнация налицо. Позже человечество научится вживлять компьютеры в тело, изображение будет выводиться сразу на сетчатку глаза, а информация в мозг и интерфейс будет телепатическим :) Возможно и энергия для всего этого будет вырабатываться сразу человеческим телом. Но сейчас… Нужны легкие, миниатюрные, быстрозаряжаемые без проводов и при этом ёмкие аккумуляторы. Нужна новая технология в этой области.

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

        • Это не приложение висит в рабочем состоянии, а его образ сохраняется в постоянной памяти и быстро вызывается из суспенда. Фактически – кэш. Но это НЕ полностью работоспособное приложение в фоне, как в Android. Многозадачность подразумевает выполнение задач, а не просто сохранение состояния приложения. Почему выгружаются приложения на бачке из памяти, я описал – потому, что ты запускаешь новые, а память не резиновая. Разные подходы, да. И у каждого есть свои плюсы и минусы.

        • smallnad

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

        • Давно не пользовался мобильной виндой. Вот этого “восстановление ” и точечки бегут теперь нет? А если запускать подряд много приложений, что будет, если вернуться у первым запущенным, когда закончится память? Как вообще сейчас дела с многозадачностью на Windows?

        • smallnad

          Загрузка из фона, конечно, существует. Но, по большей части, это дело решаемое. Например, Gameloft добились в асфальте, что, очень часто, обратный вход без швов происходит. Браузер иногда лагает, но не сильно, однако в нём теперь бесконечное количество вкладок и тоже могут висеть очень долго. Конечно, некоторые из них только скрины при выходе, но работа идёт. Мне нравится сегодняшний майкрософт своей простотой и ответственностю за слова. Например, у меня на люмии 1520 стоит бета 10-ки экспериментальная. Обещали быстро доставлять, но сырую. Вначале ужас тихий был, потом стало всё почти нормально, однако контакты не открывались и не сохранялись. А на 550 оф стоит, здесь всё рабочее. Может не в том объёме, как на бете (например, там можно было клаву по экрану возить) Две вещи здесь мне нравятся – автоматическое сохранение текста в офисе и наэкранные кнопки, убирающиеся.

        • Tuchbora

          в мобильной винде (по крайней мере, 8.1) существует список из 10 (а может это количество и не фиксировано а зависит от модели) приложений, которые могут реально работать в фоне. всего 10. и пользователь волен их выбрать сам. т.е. если приложению требуется работа в фоне (это определяет разработчик при программировании), то приложение тихо записывается в этот вайт-список. но если все 10 пунктов уже заполнены и юзверь ставит еще одно неуемное приложение, система спрашивает – кого из списка можно убрать. таким образом достигается экономия энергии в фоне и экономия оперативки. точно знаю, что таким образом работает вайбер (хотя хз, зачем это ему, есть же пуши) и торрент-клиент (а это как раз хороший пример того, что приложение на мобильной винде может плодотворно пахать в фоне). UI у фоновых приложений, понятное дело, тоже отключается, хранится только пережатый и ужасный jpeg-скриншот.

      • smallnad

        1. Главное, всё же пользовательский опыт. Он здесь в связи с многозадачностью на довольно высоком уровне.
        2. Вот повторяется история с кнопками и большими экранами. В своё время сколько я доказывал, что сенсорный интерфейс лучше, с другой стороны до истерики доходило. Вот, пишу с люмии 550 4.7″ и он мне кажется компактным, а три года назад на него лопата говорили бы. Так что, до вживления чипов есть ещё рубежи. Голосовой помощник, голография…

  • Slash-22

    С одной стороны так и есть. С другой, процессами можно управлять. Например, в том же miui у Xiaomi есть настройки регулирующие деятельность приложений в фоне.

    • Это частный случай, я ж говорю, всё от настроек системы зависит. Данная функция в MIUI ограничивает доступ приложений в фоне к интернет-трафику и службам местоположения. Но не регулируют их размещение в оперативке. Такое уже глубже в ядре регламентируется.

      • Slash-22

        Регулирует другая настройка, “miui optimization” и “оптимизация системной памяти”. Да и можно ограничить лимит фоновых процессов на любом устройстве)

        • скриншот в студию, а то я не понял, про какой пункт настроек идет речь :)

        • скриншот в студию, а то я не понял, про какой пункт настроек идет речь :)

        • Slash-22
        • где этот пункт находится, я не пойму?

        • Slash-22
        • Ага, спасибо. Кстати, можно прямо тут в комментах скриншоты цеплять, необязательно в облако заливать ;)

        • Slash-22

          Забыл, что они в два мб влезают)

        • На самом деле это просто смена заданных производителем преднастроек параметров управления памятью, сам принцип взаимодействия они не меняют, но да, в MIUI немного можно схитрить. :)

        • Slash-22

          Может быть, хз)
          Вот ещё нашёл

        • Roman Ponomarenko

          А еще в MIUI с ее рут правами, и юзая 3с Тулбокс ох как можно то допилить ее ))) разгрузить частоты процера(минимум/максимум), влезть в автозапуск и работающие на горячем приложения, в режиме откл экрана вкл режим с минимум частотами ) и т.д. и т.п. )))
          я на своем Редми 1s, в режиме чисто телефон лежит на столе, и очень редко звонит(комп и скайп/вайбер/мыло – наше все ;)) таки смог выжать 14-16 суток между зарядами тела ;)

        • Tester

          о, люди из комсс=)

        • Roman Ponomarenko

          Угус ;) я и там и тут брожу )))

  • IT

    6 Гб в самый раз

    • Tuchbora

      правильно писать “хватит всем” ;-)

  • Tuchbora

    что-то я дочитал статью и прифигел с того, кто автор. слишком сумбурное изложение вышло, имхо.
    по поводу памяти. мы, homo computerus привыкли, что оперативка работает просто: запустил приложение – оно залезло в оперативку, убил его – оперативка очистилась. андроид устроен по другому. здесь приложения в принципе не закрываются (я думаю, самые наблюдательные заметили отсутствие красных кнопочек с крестиком в этой ОС ;-)). Запустилось приложение – залезло в память. вы вышли с него – ну и пес с ним, процессор не грузит, а в памяти пущай сидит. в итоге что мы получаем? обычный пользователь получает, что приложение, которое однажды загрузилось, через час, например запустится за долю секунды. удобно и здорово. но гик залезет в настройки и докопается, что из 3 Гб оперативки свободно 200 Мб и у него начнется дергаться глаз, ухудшится сон и начнут седеть волосы раньше времени. но на вопрос “нафига вам много свободной памяти прямо сейчас?” он не ответит. если вы захотите запустить очень ресурсоемкое приложение, в Андроиде оживет алгоритм сборщика мусора и он уберет из памяти не только приложения, из которых вы вышли, но и ресурсы, какие больше не используются работающими. например, вы прошли уровень в игре, загрузили второй уровень, затем третий. памяти стало не хватать, сборщик мусора заметил, что к спрайтам карт из первого уровня вы давно не обращались – их можно выгрузить. вот и весь механизм.
    по поводу энергопортебления. оперативная память распаивается отдельными чипами по сколько-то килобайт (не помню точно). и все время, что смартфон включен, она потребляет электричество. т.е. если у вас 512 Мб оперативной памяти, то у вас меньше таких модулей, на которые нужно электричество, а если 3 Гб, то их больше. если идет частое обращение на чтение/запись из памяти, то электричество тратят еще и контроллеры, которые распределяют байты по этим самым модулям. как-то так

  • Tuchbora

    да, и кстати. если смартфоны через год не удвоили количество ядер или гигабайт оперативки – это еще не значит, что эволюция телефонов замедлилась. просто мы перешли в более зрелый этап из количественных изменений к качественным. теперь имеет значение дополнительные фишки (3Д тач, дактилоскоп, ИК-порт, сервис бесконтактных платежей и пр.), которые реально улучшают юзер икспириенс. производители пытаются создать экосистему (планшеты, часы, тв-приставки), улучшить тактильное ощущение (металл, стекло, дерево, кожа). да, производительности хватает, но телефон это, как оказалось, не только гигагерцы и мегабайты, но и пользовательский опыт (что классно демонстрирует Эппл уже много лет). так что стагнации нет, просто развитие больше не так заметно при просмотре таблицы характеристик.