Почему в айфоне мало оперативной памяти

Обновлено: 02.07.2024

Из года в год Android-производители форсируют железную часть смартфонов: 108мп, 8к-видеосъемка 12гб оперативной памяти. Но подождите, у iPhone всего 4 ГБ ОЗУ. И это не мешает ему работать на уровне или даже быстрее своих конкурентов! И как же удалось компании Apple добиться такого результата? Обо всём этом в сегодняшнем ролике.

Для начала немного теории. Что такое оперативная память и для чего она нужна в смартфоне? Если говорить простым языком, то это память, в которой хранятся все запущенные приложения, их данные, и сама операционная система!

Естественно, чем больше у вашего девайса оперативной памяти, тем комфортнее и приятнее с ним взаимодействовать.

Большинство пользователей iPhone даже не знают сколько оперативной памяти у них в смартфоне. Это обусловлено тем, что пользователей устраивает работа многозадачности в их смартфонах, они просто пользуются и получают удовольствие от плавности и скорости работы. Так как же Apple все же удается хорошо работать с 4 ГБ оперативной памяти?

Может быть дело в системе? На самом деле чудес не бывает, Android и iOS требуется примерно одинаково-большое количество ОЗУ. К примеру, пару лет назад, один зарубежный канал Android Authority провёл детальное сравнение. Автор взял два смартфона на iOS - это iPhone 7 и на Android - Nexus 5х, с одинаковым количеством оперативки – 2Гб. iPhone 7 c момента запуска имеет МЕНЬШЕ свободной оперативной памяти чем смартфон на Android: около 750мб против 1,2 ГБ у Nexus. Но это до того момента пока вы не запустите какое-либо из ваших приложений.

Мы повторили тест на iPhone 11 и Pixel 3 с Pixel 4. Теперь получается, что цифры сопоставимы: в iPhone задействовано около 2 ГБ оперативки, а Pixel использует около 2,4 ГБ.

Окей, может быть дело в том, что приложения на Android занимают больше места в оперативке? Ведь Apple любит разработчиков, а они отвечают им взаимностью. Но тоже нет: во многих случаях размер занимаемого места в оперативной памяти на iOS и Android примерно равны, но в некоторых случаях приложения на iOS занимают почти в 1.5-2 раза меньше оперативной памяти! Скорее всего это связано с более оптимизированным исполняемым кодом приложения, ведь языки написания приложений очень разные

При подсчетах, Android-приложения в совокупности занимают всего на 6% больше места в оперативной памяти.

Но это только начало, как говорят многие пользователи яблочной продукции «Оптимизация Решает!», как оказалось, в этом есть доля правды!

Оба аппарата работают с приложениями молниеносно, с андроидом все понятно, у него все хранится в ОЗУ, но как справляется iPhone с его жалкими 4гб? Вся магия кроется как раз в работе iOS с оперативной памятью. Базово и iPhone, и Android имеют примерно одинаковый планировщик работы с памятью. Если в момент запуска нового приложения, у смартфона попросту нет свободной оперативной памяти, он выкинет одно из ранее запущенных и откроет то, которое тебе нужно в данный момент!

В мире компьютеров операционная система Windows имеет файл подкачки (pagefile.sys), еще его называют СВАП. Это такое пространство на вашем жестком диске, куда система переносит неиспользуемые данные из оперативной памяти. Чтобы не хранить их в ОЗУ, давно запущенные приложения попросту переносятся на жесткий диск, тем самым освобождая место для еще одной вкладки Chrome. ПК-бояре понимают о чем я.

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

Представим такую ситуацию, у нас 4Гб оперативной памяти, открыто 5 приложений, память вся уже заполнена, как же запустить еще одно приложение и при этом не закрывать одно из пяти, то есть которые уже открыты. Всё дело в том что и у iOS, и у Android тоже есть так называемый Сжатый СВАП – с помощью сжатия, которое похоже на то, что делает архиватор. Приложение сжимается внутри оперативной памяти, система выбирает самые массивные приложения, будь то одна большая или две мелких игры, происходит сжатие, тем самым освобождается до 50% больше места, и теперь можно запустить еще одно приложение.

Такая схема работает и на iPhone, и на Android, но Apple пошли куда дальше. Они придумали как делить пространство на отдельные страницы - блоки размером 16кб, которые вмещают в себя любую информацию. Такую страницу можно пометить как грязную (dirty) или чистую (clean). Чистая - память, которая больше не используется (то есть никакие объекты больше не ссылаются на неё и её можно спокойно выгрузить). В дальнейшем она может быть загружена с диска («page out»), такая память содержит фреймворки, исполняемый код и файлы только для чтения.

К примеру, в таких страницах могут быть данные текстур игры, которые не используются приложением даже после повторного запуска из фонового режима, также в иных приложениях это могут быть разные AR-тикеры, маски и прочие блоки кода, которые не использует приложение пока пользователь повторно не запустит программу из фона.

Грязная - память, которая ещё используется в приложении, выгрузить её невозможно поэтому при переходе приложения в фон, чистая просто выгружается, а грязная сжимается по двум методам сжатия:

  • Сжатие буфера - использует одношаговый метод сжатия файлов, этот метод используется для сжатия мелких файлов до 8МБ.
  • Сжатие потока - использует несколько шагов для сжатия файлов, в том числе и повторное сжатие ранее сжатых файлов, что делает его идеальным для сжатия больших файлов.

Допустим у нас есть приложение Instagram, оно занимает 300мб в оперативной памяти, первым этапом будет очистка чистой памяти, которая была в запасе у приложения и больше не понадобится. Размер в ОЗУ уменьшается примерно до 170мб. Далее операционная система прибегнет к одному из двух методов сжатия грязной памяти. Благодаря продуманному алгоритму сжатия, грязная память из 170 мегабайт сжимается до внушительно маленького размера - менее 10 МБ!

В свою очередь, производители смартфонов на базе Android вышли из ситуации более простым решением, увеличить размер оперативной памяти чтобы меньше использовать сжатый свап.

Итак, время теста. Мы взяли устройства разных поколений - iPhone 11 и Pixel 3 - зато оба с 4 Гб. Посмотрим, что произойдет.

Pixel держит в памяти три игры. Начал выгружать их из памяти при запуске четвёртой.

iPhone полноценно держит шесть игр. Начал потихоньку выгружать на седьмой, но не все. Все начали вылетать только на восьмой игре.

И здесь мы подходим к кульминации вопроса, нужно понять за счет чего iPhone так быстро производит сжатие данных в оперативной памяти? А дело все вот в чем. Чтобы быстро провернуть данную операцию потребуется мощный процессор с высокой производительностью Больших Ядер!

Если мы посмотрим на скриншоты из бенчмарка GeekBench 5, то увидим превосходство А13 Bionic перед Snapdragon 865 в 1.5 раза, а ведь А14 Bionic еще даже не вышел! Именно производительность на один поток данных всегда было главным козырем процессоров от компании Apple! Большой проблемой Android-смартфонов является то, что они все построены на очень разном железе, производители вынуждены оптимизировать систему для более слабых девайсов, у которых попросту нету столь внушительной мощности процессора или быстрой памяти. Хотя подвижки со стороны компании Qualcomm уже есть.

Так еще с презентации Snapdragon 855 было замечено, что компания сделала упор на одно высокопроизводительное ядро (prime core) , которое имеет повышенную частоту и размер кэш-памяти, но этого все равно пока мало чтобы догнать чипы Apple.

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

Favorite

В закладки

iOS 11 пожирает нашу оперативную память. Надоело

Нет ничего печальнее, чем впустую потерянное время.

Часто пишу статьи прямо на смартфоне. На днях за это поплатился.

Полтора часа я набирал текст в окне браузера айфона. В процессе отвлёкся на входящий звонок, затем на iMessage. Вернувшись к Safari, я остолбенел.

Коротко: мне не нравится, как сейчас работает многозадачность в iOS.

Что вообще за ситуация с оперативкой


Объем оперативной памяти всегда был слабым местом характеристик iPhone.

Многие фанаты Android не понимали (и не понимают), как в 2018 году смартфон может нормально работать на 1 или 2 гигабайтах «оперативки». Ведь флагманы рынка имеют по 4, 6 и даже 8 гигабайт RAM!

Apple известна осторожным подходом к управлению оперативной памятью. Благодаря автоматическим алгоритмам, владелец iPhone 6 с жалким 1 гигом оперативки может довольствоваться скоростью работы системы на уровне топовых «андроидов» с памятью по 3-6 гига.

Но я стал замечать, что с появлением iOS 11 даже топовому айфону стало не хватать памяти для нормальной работы многозадачности.

Как выглядит нехватка оперативки в iPhone


Симптомов много – от долгого открытия приложений (система вначале освобождает память) до непредсказуемой работы многозадачности.

Именно последнее заметно пользователю чаще всего.

Пример. Вы скрываете одно приложение – нажатием кнопки Home или свайпом вверх на iPhone X – и открываете другое. Затем переходите в третье. И так далее. Позже возвращаетесь в первое приложение.

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

Если оперативной памяти не хватает, то iOS убивает ранее запущенные приложения. При повторном запуске ранее открытые данные теряются.

Ну и в чем проблема?


Я привык к тому, что топовые iPhone удерживают открытыми в фоне хотя бы 5-6 последних приложений. Иногда больше, если они не сильно требовательны к ресурсам системы.

Например, переключаешься из браузера в мессенджер, в редактор и обратно – везде всё остается так, как было.

После установки iOS 11 я начал замечать неладное на iPhone 7 Plus, а iPhone X вовсе разочаровывает своей многозадачностью. Часто кажется, что её вообще нет.

Стоит закрыть любой софт, выйти в iMessage или набрать пару номеров, и все прогружается заново. Почему так? На борту десятого айфона стоит 3 гигабайта оперативки. Это больше, чем на 90% всех ранее вышедших айфонах. Представляю, как обстоят дела с девайсами на 1 ГБ RAM.


Отсюда вопрос. Какой смысл в многозадачности iOS, когда она по факту не работает? Теперь это фактически «шторка» недавно открытых программ. При том, что на одном из моих смартов Android с 2 гигабайтами памяти нет таких проблем, и минимум пять последних приложений открываются на том же месте.

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

Но медленно и верно наша iOS становится всё менее стабильной и предсказуемой. Это бесит.

Остается только узнать: вы тоже заметили проблему многозадачности, или мне показалось?

(10 голосов, общий рейтинг: 4.80 из 5)

Favorite

В закладки

Думаю, вам не раз приходилось слышать теорию о том, что iPhone якобы требуется меньше оперативной памяти, чем Android-смартфонам. Дескать, iOS настолько экономична и оптимизирована, что ей бы хватило и 1 ГБ, в то время как Android’у будет мало и 4, и 6, и даже 10 ГБ. Именно так, во всяком случае, владельцы iPhone обычно объясняют, почему Apple никак не осилит оснастить их нормальным объёмом оперативки. Другое дело, что по факту сама ОС жрёт не так много ОЗУ, а основная её часть энергозависимой памяти уходит совсем на другие процессы.

Android vs. iOS

Хотите сразу спойлер? iOS расходует оперативку не экономнее, чем Android

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

Куда уходит оперативная память на Android

Итак, для начала предлагаю посмотреть, сколько оперативной памяти расходует Android:

  • Перейдите в «Настройки» и откройте раздел «Система и обновления»»;
  • В открывшемся окне выберите меню «Для разработчиков»;

Расход ОЗУ

Посмотреть расход ОЗУ можно в настройках

По большому счёту оперативка, которую расходует Android, не фиксирована и может отличаться в зависимости от модели смартфона, используемой прошивки и доступного объёма ОЗУ. В моём случае расход может колебаться от 1,3 до 2,5 ГБ. Причём, что интересно, чем дольше работает смартфон без перезагрузок, чем меньше приложений я выгружаю из фонового режима, тем меньше ОЗУ расходуется. А, если я только что перезагрузил смартфон, какое-то время он тестирует работоспособность всех своих функций и механизмов и может враз израсходовать даже 3 ГБ.

Ниже я привожу показательное видео, где автор сравнивает скорость запуска приложений на Galaxy Note 20 и iPhone 11. Да, первая часть ролика нам мало что даёт, демонстрируя скорее быстродействие процессора, потому что оперативка здесь почти не участвует. Куда интереснее для нас вторая часть, где блогер начинает запускать все открытые приложения с конца, чтобы понять, на каком приложении оперативки не хватает, и смартфон вместо того чтобы подтянуть программу из кэша, загружает её заново.

Расход оперативной памяти телефонов

Galaxy Note 20 (как вы понимаете, на его месте может быть вообще любой Android-смартфон) исправно подтягивает из фонового режима все приложения. А вот iPhone 11 сдаётся примерно на 2/3. Около трети приложений, которые были запущены в рамках первого этапа тестирования, банально выгружаются из-за нехватки оперативной памяти. В результате Galaxy Note 20 приходит к финишу первым, тратя на повторный запуск приложений меньше времени, чем iPhone 11.

Да, разницу во времени загрузки приложений между смартфонами нельзя назвать критической – это считанные секунды. Однако это видео отлично доказывает нам как минимум два факта.

  • Во-первых, iOS нифига не эффективнее расходует ОЗУ, чем Android. Безусловно, у Galaxy Note 20 втрое больше оперативки, чем у iPhone 11, но это только подтверждает утверждение о том, что айфонам нужен качественный прирост.
  • Во-вторых, оперативка хоть и не влияет на быстродействие системы как таковой, позволяет ускорить запуск приложений. Ведь если они уже есть в фоне, смартфону не приходится тратить время на их повторную загрузку.

Свободное общение и обсуждение материалов



Бывало ли у вас такое, что под впечатлением от прочитанной книги захотелось сотворить что-то подобное? Я не говорю о книгах про мотивацию или бизнес: речь исключительно о художественной литературе. Как это должно выглядеть? Наверное, стоит сесть за печатную машинку поздним вечером и начать творить. В общем, в первую очередь, подобный процесс ассоциируется с Хэнком Муди из "Блудливой Калифорнии". Возможно, не самый удачный пример писателя, но все же. Для современного писателя, уверен, по-прежнему нет ничего лучше, чем ноутбук. Но возможно ли творить на смартфоне? Рассказываю, почему в этом нет смысла.


Шум. Он окружает нас везде. Дома, на улице, в машине и даже в собственной постели мы постоянно слышим, как что-то где-то шумит. У этого шума могут быть самые разные источники, и в зависимости от того, кто его издаёт, мы относимся к нему совершенно по-разному. Мы готовы стерпеть скандалы соседей за стеной, пронзительный звук сигнализации припаркованного под окнами автомобиля и даже крики ворон на дереве напротив дома. Но мириться с шумом холодильника или, скажем, кондиционера мы мириться не хотим и считаем своим долгом доложить производителю или продавцу о шуме, превышающим всякие нормы. Тем более, что измерить его так просто.

Даже сегодня идет бесконечная борьба за сравнение устройств iOS и устройств Android. Люди постоянно сравнивают их, чтобы найти, что лучше для их нужд. Когда дело доходит до борьбы iOS против Android, если вы обратите внимание, вы обнаружите, что устройства iOS, в основном iPhone, работают хорошо с ограниченным объемом оперативной памяти. Более того, они работают намного плавнее и быстрее, чем любые флагманские мобильные телефоны на базе Android с таким же объемом оперативной памяти и даже меньше.

Почему? Почему iPhone и другие устройства iOS могут превзойти любые устройства Android? Просто продолжай читать.

iOS против Android-устройств

Вы можете заинтересоваться:

Содержание:

Часть 1. iOS-устройства против Android-устройств: объем оперативной памяти

Часть 2. Почему устройства iOS с меньшим объемом оперативной памяти работают лучше, чем Android?

Часть 1. iOS-устройства против Android-устройств: объем оперативной памяти

Перед анализом того, как устройствам iOS требуется меньше ОЗУ, чем устройствам Android, давайте сравним объем ОЗУ между основными устройствами iOS - iPhone и некоторыми флагманскими телефонами Android высшего класса в этом году.

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

Здесь следует подчеркнуть, что мы говорим о оперативной памяти (RAM), а не о пространстве для хранения. Оперативная память - это память, используемая ЦП для хранения и выполнения приложений.

Память произвольного доступа

Устройства Android / Huawei

iPhone 11 Pro: 4 ГБ

iPhone 11 Pro Max: 4 ГБ

Huawei P30 Pro: 8 ГБ

Huawei Mate30: 8 ГБ

Huawei Nova6: 8 ГБ

SG Note10: 12 ГБ

LG V40 ThinQ: 6 ГБ

LG V35 ThinQ: 6 ГБ

LG G8 ThinQ: 6 ГБ

Как видно из приведенной выше информации, основные мобильные телефоны iOS всегда имеют меньше оперативной памяти, чем сравнительно эквивалентные мобильные телефоны Android. Самые распространенные мобильные телефоны iPhone в 2019 году поставляются только с 4 ГБ ОЗУ, в то время как аналогичные флагманские телефоны на Android имеют 6 ГБ, 8 ГБ, 10 ГБ и даже 12 ГБ.

Если вы сравните iphone 11 Pro (4 ГБ ОЗУ) с Huawei P30 Pro (8 ГБ ОЗУ), вы не найдете никакой разницы в производительности. Или, возможно, вы заметите, что iPhone 11 Pro работает еще лучше. Теперь вернемся к исходному вопросу, на который нужно ответить: почему мобильный iPhone с iOS, имеющий меньше оперативной памяти, может работать лучше, чем мобильные телефоны Android? Не торопитесь и продолжайте читать.

Часть 2. Почему устройства iOS с меньшим объемом оперативной памяти работают лучше, чем Android?

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

Почему устройства Android требуют больше оперативной памяти

1. Сборка мусора

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

Этот метод вступит в силу, когда есть количество ОЗУ для игры. В противном случае это будет дорогостоящим и расточительным процессом, который не только тратит много времени, но и замедляет скорость работы устройства. Для устройств с ограниченным объемом памяти выделяется больше памяти, чем необходимо.

2. Виртуальные машины

В отличие от Apple iOS, Android не оптимизирован специально для поддержки собственных конфигураций. Он разработан для совместимости с разными процессорами, разными конфигурациями оборудования и разными производителями. В результате приложения, скомпилированные для одной системы, несовместимы и не могут работать в другой, если они не будут переписаны.

Чтобы решить эту проблему, Android использует платформу под названием Java, на которой могут работать его приложения. Java отлично подходит для успешной работы приложений на ОС Android благодаря своей виртуальной машине. Если вы хотите запустить приложение на Android, вы можете легко реализовать свои ожидания, написав приложение на Java, виртуальная машина которого будет переводить код во время работы, чтобы приложение могло работать в любой системе, в которой оно находится.

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

Java Victual Machine Запуск процесса

Как устройства iOS с меньшим объемом оперативной памяти работают лучше, чем Android

1. Запрет на «вывоз мусора» и «виртуальную машину».

В отличие от устройств Android, устройства iOS не используют сборку мусора, для которой требуется определенное количество оперативной памяти. И в отличие от Android, iOS от Apple, в частности, производится партнерами Apple по сотрудничеству и предназначена для работы на собственном оборудовании. Таким образом, iOS не нужно запускать платформу Java, которая требует использования большего объема памяти.

2. Правильный подход к управлению ОЗУ

Еще одна причина, почему устройства iOS с меньшим количеством оперативной памяти работают лучше, чем устройства Android, коренится в правильном управлении оперативной памятью. Управляя оперативной памятью, iOS позволяет приложениям сохранять определенную память для функционирования и повторного открытия при входе приложений во второй блок. Находясь в системе Android, Android управляет ОЗУ самостоятельно, что заставляет приложения использовать ОЗУ по частям, и, в свою очередь, память не резервируется.

Больше оперативной памяти не обязательно означает лучшую производительность

Больше памяти относится к более плавной и быстрой производительности? Ответ не является определенным. Если одному мобильному устройству принадлежит 8 ГБ ОЗУ, но с плохим управлением, оно не может превзойти любое 4 ГБ ОЗУ с отличным управлением ОЗУ. То есть правильное управление ОЗУ эффективно для повышения производительности.

iOS работает лучше, чем Android

3. Правильный подход к управлению приложениями

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

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

4. Пользовательский интерфейс

Еще один фактор, влияющий на сравнение производительности между iOS и Android, заключается в различных потоках исполнения, которые они используют в пользовательском интерфейсе. В iOS его потоки приложений разделены по приоритету в режиме реального времени, что позволяет устройствам iOS работать более плавно. Однако в случае с Android все происходит в основном потоке с обычным приоритетом. Это означает, что приложения, работающие на Android, могут перегружать ресурсы процессора и ухудшать взаимодействие с пользовательским интерфейсом, что приводит к очевидным задержкам и задержкам.

Заключение

Теперь понятно, почему устройства iOS с меньшим объемом оперативной памяти превосходят устройства Android. И это правда, что устройствам Android требуется больше оперативной памяти. Таким образом, больший объем ОЗУ не обязательно означает лучшую производительность.

автор

Кэрри Цай является частью команды Neway и всегда активно делится своими идеями о Neway. Она с энтузиазмом погружается каждый день в глубины индустрии мобильных соединений, ожидая новых интересных вещей, которыми можно поделиться с вами и ее командой.

Читайте также: