Почему iPhone хватает 4 ГБ ОЗУ, а Android — нет?
Из года в год 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), еще его называют СВОП (термин пишется по-английски — swap). Это такое пространство на вашем жестком диске, куда система переносит неиспользуемые данные из оперативной памяти. Чтобы не хранить их в ОЗУ, давно запущенные приложения попросту переносятся на жесткий диск, тем самым освобождая место для еще одной вкладки 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 не нужно столь большое количество оперативной памяти. Размер — не главное, лучше вложить больше денег в софтверную часть, и правильно распределять ресурсы своего железа за счет умных алгоритмов сжатия файлов в оперативке.
Источник
Какие функции Apple слизала у Android для iOS 15
Вчера Apple представила iOS 15. Это была самая скучная презентация компании за последние 10 лет, что я за ней слежу. Я долго не мог понять, почему мне так не нравится. Ведь и ведущие были разные, и изменений было представлено немало. А потом я понял: я просто уже всё это видел в Android, потому что большая часть нововведений, которые Apple попыталась выдать за собственное переосмысление операционной системы и её функций, уже были у конкурентов. Причём давным-давно.
В iOS 15 больше заимствований, чем в списанной курсовой
Несмотря на то что Apple попыталась довольно тщательно замаскировать копирование, по факту, разглядеть в нововведениях iOS признаки функций, к которым давно привыкли пользователи Android, не так уж и сложно. Некоторые из них прямо сразу бросаются в глаза так, что никаких сомнений не остаётся, а на некоторые приходится посмотреть сбоку, чтобы понять, что и они уже были у Симпсонов… ой, у Google.
Что Apple скопировала у Google
Apple явно вдохновлялась Chrome, когда вносила изменения в Safari. Потому что компания из Купертино скопировала у браузера Google и механизм переключения между открытыми вкладками, и функцию их группировки, и даже идею по переносу адресной строки и других элементов управления к нижней части экрана.
Siri научилась работать без интернета, но не так хорошо, как Google Ассистент
Смешно подумать, но раньше Siri не могла отвечать на вопросы без интернета. Очевидно, эта функция была слизана у Google Pixel. Правда, в Купертино попытались обернуть нововведение в другую оболочку, нежели Google. Крейг Федериги сказал, что это нужно для безопасности, чтобы запросы обрабатывались прямо на устройстве. Но, по сути, это те же яйца, вид сбоку.
В iOS 15 уведомления претерпели серьёзные изменения. Правда, если отбросить редизайн, то получится, что система научилась приоретизировать оповещения по степени значимости, а такая возможность на Android была уже давно, а также настраивать профили занятости, в зависимости от которых будут приходить или блокировать те или иные уведомления.
Общие функции Android и iOS
У Google уже давно был сервис «Объектив», который распознавал вообще всё, что угодно. Теперь и Apple решила сделать у себя кое-что похожее. Поэтому в iOS 15 приложение «Фото» обучили распознавать текст на фотографиях. Получилось прикольно, но слишком уж ограниченно с функциональной точки зрения.
iCloud стал похожим на Google One, что неплохо
А iCloud+? Это особая надстройка для iCloud, которая копирует две функции у Google: встроенный VPN и безлимитное хранилище для видео. Правда, только для тех видео, которые запишет HomeKit-камера. У Google было всё куда круче: она позволяла сохранять бесплатно вообще любые фото и видео в высоком качестве.
Обновления безопасности – тоже не собственная придумка Apple. Google уже давно выпускает такие патчи для Android, причём на постоянной основе. Apple же, судя по всему, планирует делать это не регулярно, а ситуативно, в зависимости от наличия багов и уязвимостей. Так что откровения не случилось.
Что лучше: Android или iOS
В iOS 15 не так много нововведений, и почти все они слизаны у Android
Честно говоря, ничего катастрофического в том, что Apple скопировала часть функций у Android, нет. В конце концов, и Google порой позволяет себе это делать. Другое дело, что iOS 15 почти целиком состоит из заимствований. Будь она курсовой работой, её бы разнесли в пух и прах, но, к счастью, для Apple это не так. Правда, не нужно быть гением, чтобы понять, что у компании банально закончились идеи. Ведь это нужно постараться – говорить целый час о пустом обновлении, которое оказалось даже более бедным, чем iOS 14.5.
Кто-то, наверное, вспомнит о том, что и Android последних версий тоже не кишат нововведениями. Отчасти это действительно так. Но не нужно забывать, что, во-первых, Google продолжает обновлять устройства на Android через свои приложения и сервисы, расширяя их возможности в течение всего года. А, во-вторых, задача по расширению функций смартфонов так или иначе возложена на производителей, которые наполняют нововведениями свои прошивки самостоятельно. Так что тут плюс точно уходит Google, но никак не Apple.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Мне всегда казалось, что Google явно считает пользователей Android несубъектными. Именно поэтому она позволяет себе не только не прислушиваться к их мнению, но даже пренебрегать их безопасностью. Ведь, если помните, в этом году, когда Apple запретила разработчикам шпионить за пользователями без их ведома, Google удалила инструмент слежки из всех своих приложений для iOS, но при этом не подумала поступать так же в отношении Android. Просто поисковый гигант воспринял iOS как витрину, на которой нужно вести себя элегантнее, чем дома. Видимо, с этим же и связан более широкий набор функций, которые Google предлагает в приложениях на конкурирующей платформе.
Независимо от степени фанатизма пользователей iPhone, у подавляющего большинства из них сложилось устойчивое мнение о том, что подход Apple к обновлению iOS – лучше подхода Google. Несмотря на то что Apple не могла обновлять свои приложения и сервисы отдельно от операционной системы, она старалась регулярно выпускать системные апдейты с баг-фиксами и нововведениями. Но если внедрение новых функций могло и подождать, то вот исправления багов и уязвимостей – уже нет. Поэтому Apple решила, что будет выпускать для iOS обновления безопасности. Совсем как Google. Ну, почти.
Несмотря на то что Android-смартфоны уже давным-давно начали превосходить iPhone и в дизайне, и в технологиях, и в цене, миф о том, что именно он является самым крутым гаджетом современности, никуда не делся. Почему, сказать сложно. В конце концов, люди и сами не дураки – могут увидеть, что сегодня даже бюджетные аппараты на Android выглядят круче и умеют больше, чем iPhone. Однако Apple не спешила это признавать, полагая, что она выше этого. Но на днях компанию прорвало и она показала, как в её представлении выглядит среднестатистический Android-смартфон.
Источник