Решил продолжить цикл своих повествований про всякие бесполезные нововведения и непрекращающуюся гонку характеристик, которые производители устроили на рынке мобильных устройств. Вернее, решил уже давно, и даже тему выбрал заранее, но время для второго выпуска выкроил только сейчас. Напомню, что первая моя статья была про разрешения экранов. А сегодня мы поговорим про оперативную память. Вернее – о её количестве, необходимом для комфортной эксплуатации гаджета под управлением Android OS.
А чего тут думать? Чем больше памяти, тем лучше, это же очевидно! По крайней мере производители именно в этом пытаются нас убедить. Вы всё ещё сомневаетесь? Чтобы правильно ответить на этот вопрос, давайте для начала разберемся, как в принципе Android работает с оперативной памятью.
На самом деле – все очень просто. Объясняю на пальцах. Условно, физически доступный объем оперативной памяти (независимо от её абсолютного количества) можно разделить на 3 куска – системная часть (невыгружаемая), пользовательская часть (которую мы можем очищать закрытием приложений через меню многозадачности) и свободное место.
Примерно, вот так:
Как вы наверное поняли, первое – это ядро системы Android, служебные модули и сервисы, а кроме того, ПО добавленное производителем устройства при “улучшении” системы, и тут может быть что угодно – программа для обновления по воздуху, слежение за глазами, пробуждение при помощи жестов, беспроводный обмен файлами, ПО для фирменных аксессуаров, типа чехлов с окошками или стилуса, встроенный бэкап, менеджер тем, короче – уникальные настройки и функции не реализованные в чистом Android или сделанные производителем “по другому”. В общем, это все те проприетарные уникальные фишки при помощи которых вендоры борются за предпочтения пользователей – надстройки над ОС, которые мы привыкли называть фирменными оболочками (TouchWiz, LG UI, EMUI, Vibe UI, MIUI и т.д.). Как вы понимаете, в большинстве случаев обычный пользователь не может влиять на состав системных модулей и, следовательно, на объем памяти, который занимает система при загрузке. Или его возможности в этом плане очень сильно ограничены – есть вещи которые нельзя отключить, или они всё равно работают, даже если кажется, что вы их выключили. Кроме того, пользователю не дано право закрывать программы и сервисы, которые висят в данной части оперативной памяти – вы их просто не видите в меню многозадачности.
Далее мы получаем первоначальный свободный объем оперативки – тот, что доступен сразу после окончания загрузки устройства. Это как раз и есть пользовательская область. Казалось бы, вся она в нашем полном распоряжении? Ан нет! Учтите, что производители обычно добавляют в прошивку еще некоторые программные модули, которые могут время от времени запускаться “по требованию” – по запросу пользователя, по расписанию, или по “просьбе” невыгружаемых сервисов, которые уже “сидят” в системной области оперативной памяти и диктуют оттуда свою волю, время от времени увеличивая объем невыгружаемой системной памяти. Кроме того, не забываем про пользовательскую автозагрузку. Например, это могут быть любимые вами чатики и клиенты социальных сетей, почтовые приложения и т.п. – они уже ждут своей очереди, чтобы занять тёплое место в оперативной памяти и начать заваливать вас уведомлениями. Так вот, это невидимое ПО, совместно с приложениями, которые юзер запускает вручную, начинает совместное заполнение свободного объема пользовательской части оперативки. Каждый компонент откусывает свой кусочек в зависимости от потребностей. Кто-то больше, кто-то меньше, но свободная оперативка съедается достаточно быстро.
Но всему есть предел. И он наступает раньше, чем вы могли бы предположить. Система Android изначально резервирует определенное количество оперативной памяти для быстрого запуска новых приложений и старается держать её все время свободной. На этапе использования пользовательской части оперативной памяти начинает работать так называемая вытесняющая многозадачность, когда для ускорения запуска нового приложения используется свободная область оперативки, а следом система начинает “прибивать” ранее запущенные приложения, стремясь вернуть свободный объем к заданному значению. Обычно, это около 10-20% всего доступного объема оперативной памяти, или 200-300 МБ (зависит от настроек использования памяти). При этом ОС 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 с одновременным улучшением их энергоэффективности. Конечно, на эту ситуацию очень сильно влияет и увеличение разрешений экранов, не зря я упомянул об этом в начале своего повествования. Ведь данный “прогресс” также напрямую связан с необходимостью увеличения объема оперативной памяти, которую помимо приложений использует и видеоускоритель, так как для рендеринга большего количества пикселей необходимо выделить еще больше оперативки.
Фактически, мне кажется, что индустрия смартфонов топчется на месте. Единственный заметный прогресс наблюдается в камерах – тут уже не поспоришь – улучшения налицо. Но во всем остальном – хочется крикнуть: “Астанавитесь! ©”. Последние анонсы новинок на MWC 2016 только окончательно подтверждают мою основную мысль – ничего нового, кроме увеличения характеристик. Разве что, у LG получилось создать нечто оригинальное, представив новую концепцию модульного смартфона LG G5, за что им и была присвоена награда за лучший смартфон выставки.
Когда вы радуетесь очередному смартфону в котором производитель увеличивает объем оперативной памяти, задумайтесь. Действительно ли это улучшение в вашу пользу? Подозреваю, что скорее всего, нет. Больше всего это улучшение нужно самому изготовителю устройства, чтобы обеспечить возросшие системные требования программного и аппаратного обеспечения. В итоге имеем инновации ради инноваций и последующую продажу увеличенных характеристик покупателям при помощи хитрого маркетинга. И все бы хорошо, но без серьезного прорыва в области технологии аккумуляторов для мобильных устройств, картина продолжает оставаться крайне печальной.
Ваше мнение:
Сколько оперативной памяти необходимо Android-смартфону?
View Comments
Вот вроде все правильно. Поставляются телефоны. На Андроида пишет устаревшие браузеры на 1_5 gb. оперативки. Веду себя скромно пока работает. Получили мы в подарок в 2012 году lg в дорогом корпусе типа портсигарного. Там нет Андроида и смартфоны с оперативной 500 мегабайт работают нормально.
да, и кстати. если смартфоны через год не удвоили количество ядер или гигабайт оперативки - это еще не значит, что эволюция телефонов замедлилась. просто мы перешли в более зрелый этап из количественных изменений к качественным. теперь имеет значение дополнительные фишки (3Д тач, дактилоскоп, ИК-порт, сервис бесконтактных платежей и пр.), которые реально улучшают юзер икспириенс. производители пытаются создать экосистему (планшеты, часы, тв-приставки), улучшить тактильное ощущение (металл, стекло, дерево, кожа). да, производительности хватает, но телефон это, как оказалось, не только гигагерцы и мегабайты, но и пользовательский опыт (что классно демонстрирует Эппл уже много лет). так что стагнации нет, просто развитие больше не так заметно при просмотре таблицы характеристик.
что-то я дочитал статью и прифигел с того, кто автор. слишком сумбурное изложение вышло, имхо.
по поводу памяти. мы, homo computerus привыкли, что оперативка работает просто: запустил приложение - оно залезло в оперативку, убил его - оперативка очистилась. андроид устроен по другому. здесь приложения в принципе не закрываются (я думаю, самые наблюдательные заметили отсутствие красных кнопочек с крестиком в этой ОС ;-)). Запустилось приложение - залезло в память. вы вышли с него - ну и пес с ним, процессор не грузит, а в памяти пущай сидит. в итоге что мы получаем? обычный пользователь получает, что приложение, которое однажды загрузилось, через час, например запустится за долю секунды. удобно и здорово. но гик залезет в настройки и докопается, что из 3 Гб оперативки свободно 200 Мб и у него начнется дергаться глаз, ухудшится сон и начнут седеть волосы раньше времени. но на вопрос "нафига вам много свободной памяти прямо сейчас?" он не ответит. если вы захотите запустить очень ресурсоемкое приложение, в Андроиде оживет алгоритм сборщика мусора и он уберет из памяти не только приложения, из которых вы вышли, но и ресурсы, какие больше не используются работающими. например, вы прошли уровень в игре, загрузили второй уровень, затем третий. памяти стало не хватать, сборщик мусора заметил, что к спрайтам карт из первого уровня вы давно не обращались - их можно выгрузить. вот и весь механизм.
по поводу энергопортебления. оперативная память распаивается отдельными чипами по сколько-то килобайт (не помню точно). и все время, что смартфон включен, она потребляет электричество. т.е. если у вас 512 Мб оперативной памяти, то у вас меньше таких модулей, на которые нужно электричество, а если 3 Гб, то их больше. если идет частое обращение на чтение/запись из памяти, то электричество тратят еще и контроллеры, которые распределяют байты по этим самым модулям. как-то так
6 Гб в самый раз
правильно писать "хватит всем" ;-)
С одной стороны так и есть. С другой, процессами можно управлять. Например, в том же miui у Xiaomi есть настройки регулирующие деятельность приложений в фоне.
Это частный случай, я ж говорю, всё от настроек системы зависит. Данная функция в MIUI ограничивает доступ приложений в фоне к интернет-трафику и службам местоположения. Но не регулируют их размещение в оперативке. Такое уже глубже в ядре регламентируется.
Регулирует другая настройка, "miui optimization" и "оптимизация системной памяти". Да и можно ограничить лимит фоновых процессов на любом устройстве)
На самом деле это просто смена заданных производителем преднастроек параметров управления памятью, сам принцип взаимодействия они не меняют, но да, в MIUI немного можно схитрить. :)
А еще в MIUI с ее рут правами, и юзая 3с Тулбокс ох как можно то допилить ее ))) разгрузить частоты процера(минимум/максимум), влезть в автозапуск и работающие на горячем приложения, в режиме откл экрана вкл режим с минимум частотами ) и т.д. и т.п. )))
я на своем Редми 1s, в режиме чисто телефон лежит на столе, и очень редко звонит(комп и скайп/вайбер/мыло - наше все ;)) таки смог выжать 14-16 суток между зарядами тела ;)
о, люди из комсс=)
Угус ;) я и там и тут брожу )))
Может быть, хз)
Вот ещё нашёл
где этот пункт находится, я не пойму?
1. https://www.amazon.com/clouddrive/share/GknnOmKtZ98lVedtPhqTWgCemTPRbtKBdpPW83mnff6
2.https://www.amazon.com/clouddrive/share/bBYLAMOOWJtxIm83s9qiVOlC5JmL3it9sVDvbItANpV
Ага, спасибо. Кстати, можно прямо тут в комментах скриншоты цеплять, необязательно в облако заливать ;)
Забыл, что они в два мб влезают)
скриншот в студию, а то я не понял, про какой пункт настроек идет речь :)
Ну, вот, например фото)
https://www.amazon.com/clouddrive/share/OhFfCve164chcurtcVtIllz9gQzKa26jLF835XLsjHB
скриншот в студию, а то я не понял, про какой пункт настроек идет речь :)
Вначале, я как всегда кипятился. Ну почему андроиду? Ведь все пользовательские системы действуют по сходным принципам. Но цифры в итоге оказались примерно в два раза больше, чем нужно моим windows устройствам. Кстати, айфон тоже не жадный до ресурсов. А так, новоприобретённая люмия 550 вполне среднебюджетная нормально работает на гиге. Топовая 1520 на 2-х. Притом, если составлять wish list после долгого периода использования фаблета, увеличение объема оперативки будет там точно не на первом месте. Но вот, что я хотел сказать по результатам вашего артикля. Не кажется ли вам, что правильно схваченный вами момент стагнации в развитии смартфонов связан с близости к исчерпанию возможностей пальцевого тача? То есть большего оттуда не выдоить.
Вначале, я как всегда кипятился. Ну почему андроиду? Ведь все пользовательские системы действуют по сходным принципам. Но цифры в итоге оказались примерно в два раза больше, чем нужно моим windows устройствам. Кстати, айфон тоже не жадный до ресурсов. А так, новоприобретённая люмия 550 вполне среднебюджетная нормально работает на гиге. Топовая 1520 на 2-х. Притом, если составлять wish list после долгого периода использования фаблета, увеличение объема оперативки будет там точно не на первом месте. Но вот, что я хотел сказать по результатам вашего артикля. Не кажется ли вам, что правильно схваченный вами момент стагнации в развитии смартфонов связан с близости к исчерпанию возможностей пальцевого тача? То есть большего оттуда не выдоить.
1. Не секрет, что реальная многозадачность требует большего количества памяти. В упомянутых Вами Windows и iOS она урезанная, фактически, только пуш-модули висят в памяти и то, непонятно как. В общем, политика фонового режима там реализована по другому. Фокус всегда на активное приложение. Поэтому и оперативки нужно меньше.В андроид же фоновое приложение имеет такие же права на память, как и активное, оно фактически открытым остается, но не выводится графический UI (хотя, можно, например, совершить какое-либо действие из шторки или меню расшаривания). Конечно, для полноценной работы в фоне необходимо больше памяти.
2. Связи застоя именно со способом общения с системой (пальцевый тач) я не вижу. В принципе меня все устраивает в плане производительности, интерфейса, функциональности и т.д. Возможно, большего и не надо на данном этапе. Причем скорее всего - не надо. Но производителям же надо продавать новые гаджеты, вот они и давят цифрами характеристик. Я против этого протестую :) Основную проблему я вижу в автономности экосистемы. Вот тут - стагнация налицо. Позже человечество научится вживлять компьютеры в тело, изображение будет выводиться сразу на сетчатку глаза, а информация в мозг и интерфейс будет телепатическим :) Возможно и энергия для всего этого будет вырабатываться сразу человеческим телом. Но сейчас... Нужны легкие, миниатюрные, быстрозаряжаемые без проводов и при этом ёмкие аккумуляторы. Нужна новая технология в этой области.
1. Главное, всё же пользовательский опыт. Он здесь в связи с многозадачностью на довольно высоком уровне.
2. Вот повторяется история с кнопками и большими экранами. В своё время сколько я доказывал, что сенсорный интерфейс лучше, с другой стороны до истерики доходило. Вот, пишу с люмии 550 4.7" и он мне кажется компактным, а три года назад на него лопата говорили бы. Так что, до вживления чипов есть ещё рубежи. Голосовой помощник, голография...
Самая лучшая многозадачность как раз на iOS сейчас. Приложения могут неделями висеть в фоне сохраняя свое состояние. Андроид так не может, а виндофон выгружает приложения вообще через пару минут неактивности.
Уточните, пожалуйста, что имеется ввиду под выгружает. Я реально переключаюсь между запущенными приложениями и всё работает более или менее прилично.
Давно не пользовался мобильной виндой. Вот этого "восстановление " и точечки бегут теперь нет? А если запускать подряд много приложений, что будет, если вернуться у первым запущенным, когда закончится память? Как вообще сейчас дела с многозадачностью на Windows?
в мобильной винде (по крайней мере, 8.1) существует список из 10 (а может это количество и не фиксировано а зависит от модели) приложений, которые могут реально работать в фоне. всего 10. и пользователь волен их выбрать сам. т.е. если приложению требуется работа в фоне (это определяет разработчик при программировании), то приложение тихо записывается в этот вайт-список. но если все 10 пунктов уже заполнены и юзверь ставит еще одно неуемное приложение, система спрашивает - кого из списка можно убрать. таким образом достигается экономия энергии в фоне и экономия оперативки. точно знаю, что таким образом работает вайбер (хотя хз, зачем это ему, есть же пуши) и торрент-клиент (а это как раз хороший пример того, что приложение на мобильной винде может плодотворно пахать в фоне). UI у фоновых приложений, понятное дело, тоже отключается, хранится только пережатый и ужасный jpeg-скриншот.
Загрузка из фона, конечно, существует. Но, по большей части, это дело решаемое. Например, Gameloft добились в асфальте, что, очень часто, обратный вход без швов происходит. Браузер иногда лагает, но не сильно, однако в нём теперь бесконечное количество вкладок и тоже могут висеть очень долго. Конечно, некоторые из них только скрины при выходе, но работа идёт. Мне нравится сегодняшний майкрософт своей простотой и ответственностю за слова. Например, у меня на люмии 1520 стоит бета 10-ки экспериментальная. Обещали быстро доставлять, но сырую. Вначале ужас тихий был, потом стало всё почти нормально, однако контакты не открывались и не сохранялись. А на 550 оф стоит, здесь всё рабочее. Может не в том объёме, как на бете (например, там можно было клаву по экрану возить) Две вещи здесь мне нравятся - автоматическое сохранение текста в офисе и наэкранные кнопки, убирающиеся.
Это не приложение висит в рабочем состоянии, а его образ сохраняется в постоянной памяти и быстро вызывается из суспенда. Фактически - кэш. Но это НЕ полностью работоспособное приложение в фоне, как в Android. Многозадачность подразумевает выполнение задач, а не просто сохранение состояния приложения. Почему выгружаются приложения на бачке из памяти, я описал - потому, что ты запускаешь новые, а память не резиновая. Разные подходы, да. И у каждого есть свои плюсы и минусы.