Сколько ОЗУ нужно смартфону? и почему Айфоны не лагают

Standard

Как обычно: сначала видео-версия, а для любителей почитать ниже будет текстовая версия.

Видеоверсия:

“Зачем тебе 4 Гб ОЗУ на смартфоне ко-ко-ко. Это же не компьютер!!!11” – такие опусы я постоянно читаю в комментах под своими видео. Видео сделано специально для того, чтобы объяснить почему я выступаю за наращивание объема RAM на смартфонах. Ну хорошо, хотя бы пусть сделают быстрый свап (swap), но это даже менее реально, чем увидеть 8 Гбайт ОЗУ на новом смартфоне.

Почитать:

Да, видео немного упрощено, я не сказал, что приложения могут так же делиться, как сама ОС Android, но это еще сильнее бы раздуло мою любительскую статью.

Зачем нам 2-4-8 Гбайт оперы в смартфонах? Это же всего лишь телефон! Для того чтобы ответить на этот вопрос, давайте определимся с понятиями. Во-первых, современный смартфон — это полнофункциональный мобильный ПК на базе ОС на основе ядра Linux. Во-вторых, большинство пользователей уже сейчас используют смартфоны и планшеты более интенсивно чем настольный ПК или Ноутбук. Я понимаю, что есть геймеры, монтажеры, аналитики и другие профессии, где без хорошего ПК с удобным крупным экраном не обойтись. Да чего уж там, я сам работаю на ПК, но! Если взглянуть на количество используемых ежедневно программ на ПК и на смартфоне, внезапно выяснится, что смартфон получает большую нагрузку, чем ПК! Для многих, это оказывается сюрпризом, но вы можете посчитать это сами.

приложения пк смартфон

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

Оперативная память смартфона

для чего смартфон

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

Но сколько же тогда нам памяти нужно в смартфоне? На самом деле – чем больше, тем лучше. Звучит очень попсово, но я сейчас объясню, в чем тут подвох.

сколько весит андроид

Вот скриншоты трех смартфонов. Все они только-только распакованы и не имеют только стандартно установленные приложения и «чистый» Android. Да, у первого смартфона был предустановлен Яндекс.Браузер, а у третьего утилита для обновления, но они погоды нам не сделают. Казалось бы – все логично, чем меньше оперативной памяти в смартфоне, тем меньше свободной памяти нам доступно. Но, вы ничего не замечаете?

оперативная память android

В каждом из трех случаев система Android занимает разный объем в оперативке. Но почему так? Ведь система то одна! Ладно там, TouchWiz какой-нибудь 3 гига RAM может занимать со своими сервисами, к этому мы уже привыкли, но тут то в чем дело?

android

Как и любая ОС, Android состоит из множества процессов, служб (или демонов, как тут принято), модулей и так далее. То есть это составная структура. Если наш девайс не обладает достаточным количеством памяти, то мы выборочно выкидываем из памяти разные функции. Это не значит, что они не будут работать, просто подгружаться они будут медленнее, так как складироваться будут на флеш-памяти. Например, мы можем выкинуть из оперативки часть интерфейса, и при открытии меню, оно подгрузится не сразу. На бюджетных моделях такое встречается очень часто, например, звенит рингтон, а интерфейс приложения еще не отрисовался, и невозможно ответить на звонок.

С другой стороны, мы наоборот, можем вывалить все сервисы и системные приложения из свапа в оперативку, и тогда наш «голый» Android разрастется до гигабайта и даже двух, но зато любое загруженное туда приложение будет откликаться настолько быстро, насколько позволит процессор. Правда, и это не всегда возможно. Почему? Да все просто. Достаточно посмотреть, сколько оперативки в пике могут потреблять приложения. В последних версиях Android это делается очень просто.

firefox android

Чтобы вы меня не обвиняли в беспредметной риторике, давайте возьмем конкретный пример, с конкретным смартфоном. Раз уж мы начали с LG G4, то давайте на его примере посмотрим сколько же памяти запрашивали приложения и вычислим сколько памяти нам хотелось бы иметь «в идеале», то есть чтобы вообще не приходилось прибегать к помощи флеш-памяти.

android ram usage

Вот реальный график пикового потребления оперативной памяти системными приложениями. Да, LG G4 – не лучший пример, у него действительно тяжелая оболочка с фирменными сервисами итд, но тем даже показательнее. Для максимально плавной работы без запущенных сторонних приложений этому девайсу требуется около 2600 Мбайт оперативки! Конечно, я тут немного сгущаю краски, так как это не среднее потребление памяти, а пиковое. Но в том то и соль, чтобы смартфон не лез к флеш-памяти даже при пиковых нагрузках.

android использование памяти

Если же представить работу с браузером или приложением Вконтакте и Инстаграмом, то мы уже получим чуть ли не 4 Гбайта занимаемого пространства в RAM. Дело в том, что все эти приложения соцсетей очень быстро съедают доступный объем оперативки для плавного отображения бесконечной ленты новостей, которая загружается именно в ОЗУ, дабы по свайпу быстро отобразиться вновь. С браузером все вообще до боли знакомо. Да, по моим замерам на данном смартфоне он потреблял до 1100 Мбайт RAM. А чему тут удивляться?

pc browser ram

Те же браузеры на ПК с тем же функционалом потребляют столько же памяти при интенсивном браузинге. Ничего необычного в этом нет! Но за это мы и любим наши пекарни – вставил 32 Гбайта, и открыв 5-10-20 программ ты всегда знаешь, что оно откроется максимально быстро, а не будет подтягиваться из медленной флеш-памяти. Почему же мы должны отказывать себе в добром объеме ОЗУ в смартфоне?

Оперативная память в iPhone – почему не лагает?

И тут мы плавно переходим к важнейшему вопросу из зала: мол, в смартфонах Apple был всего один гигабайт и работало все отлично! В чем тут дело?! Ну что ж, давайте обо всем по порядку.

оперативная память

Допустим, нам надо запустить два банальных приложения: chrome и инстаграм. Напомню, что первый может потреблять до 1.5 Гбайта оперативки, а второй около 500 мбайт при активном использовании. Тут надо понимать: независимо от ОС такие программы как браузер, не могут потреблять радикально разное количество память. Особенно если это одно и тоже приложение! Для неверующих советую запустить любой популярный браузерный бенчмарк и сопоставить его с результатами кроссплатформенных бенчмарков, но об этом как-нибудь отдельно. Разница есть, но она настолько мала, что ею можно пренебречь. Так в чем же дело тогда, спросите вы? Ну смотрим, при запуске этих приложений, у нас нет выбора – надо использовать свап.

“Магической” оптимизации Apple не существует

Оба они в оперативку не залезут. Ок, допустим, у нас активен Инстаграм, значит хром с несколькими вкладками мы свапаем. Повторюсь, такая ситуация будет неизбежна, как для iPhone 6, так и для бюджетника на Андроид за 75 долларов. Для того чтобы понять, почему же iPhone 6 все же работает быстрее, надо понять, за счет чего работает так называемая «магическая оптимизация apple”. Эти ребята поняли, что нет смысла биться за тупое наращивание объема ОЗУ, так как для радикального изменения ситуации в смартфоне должно быть от 8 Гбайт оперативки, как в современном нормальном ПК. Это слишком дорого. Поэтому, они пошли другим путем. Раз нам надо перебросить массив данных из свапа в оперативку, то не проще ли сделать флеш-память максимально быстрой?

68007

И они так и сделали! Да, у iPhone 6 было всего один гигабайт оперативки, но у них был и самый быстрый массив флеш-памяти.

скорость чтения записи

Скорость работы флеш-накопителя даже старого iPhone 6 значительно превосходит не то что бюджетники своего времени, но и современные недорогие модели с 1 Гбайтом ОЗУ. Тут даже спорить не о чем!

айфон чтение запись

Это доминирование продолжается и по сей день, неудивительно, что Apple может обойтись 2-3 Гбайтами RAM

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

android ios гикбенч

Производительность на 1 поток – всегда была сильная сторона айфонов.

гикбенч geekbench 4

Даже старый айфон 6 не оставляет шансов современным бюджетникам, a новая модель iPhone 7 уничтожает по этому показателю и флагманские устройства.

оперативная память

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