Блогер с YouTube-канала Gary Explain провёл эксперимент: он взял несколько одинаковых приложений для iOS и Android и сравнил, сколько оперативной памяти потребляет каждая программа на обеих платформах.
Спойлер: Android-версии приложений потребляют почти в два-три раза больше оперативной памяти, чем на iOS. Например, Acrobat Reader с открытым PDF-файлом на iOS занимает 117 Мбайт ОЗУ, а на Android — целых 390 Мбайт.
Booking.com на iOS требуется всего 73 Мбайт, а на Android — 330 Мбайт. Аналогичная ситуация с другими приложениями из списка:
![wp-image-1117097](https://www.iphones.ru/wp-content/uploads/2022/02/2-3.jpg)
![wp-image-1117096](https://www.iphones.ru/wp-content/uploads/2022/02/1-3.jpg)
С играми дела обстоят иначе. Все они занимают примерно одинаковое количество оперативной памяти, но есть исключения.
Shadowgun Legends во время боя «съедает» 1130 Мбайт ОЗУ на iOS, а на Android — 899 Мбайт.
Brawl Stars: 572 Мбайт на iOS и 507 Мбайт на Android.
Но почему так происходит? Блогер проконсультировался с разработчиками и всё доходчиво объяснил.
У платформ разные способы программирования
Swift — это вообще язык программирования, созданный самой Apple.
Многие считают, что дело в оптимизации системы, которую Apple смогла освоить, а Google нет. Но по факту, всё упирается в методы создания приложений.
На iOS приложения пишут при помощи объектно-ориентированных языков программирования: Objective-C и Swift. Компилируются программы в нативный код. То есть, код, который содержит инструкции, исполняемые непосредственно самим процессором (в данном случае Apple A или Apple M).
Так исторически сложилось, что Android-смартфоны представляют собой буквально россыпь разных типов платформ и нативный код для каждой из них писать и компилировать слишком затратно. Разработчики просто не могут физически этого позволить, потому что новые устройства выходят каждый день.
И для каждого пришлось бы делать отдельную версию приложения.
Для Android нужна универсальность. За неё приходится платить производительностью
Android-смартфонов на рынке сотни, если не тысячи.
В Google это понимали изначально, ведь Android — свободная операционная система. Поэтому официальным и стандартным языком программирования был выбран Java. Сегодня ещё активно используется Kotlin.
Разница в том, что при компиляции таких приложений они преобразуются в байт-код. Его исполнением занимается уже не процессор, а среда виртуализации, встроенная в систему (например, Java Virtual Machine). Как раз наличие этого промежуточного этапа и требует дополнительных ресурсов.
Поэтому приложениям на Android действительно требуется больше оперативной памяти, чем на iOS. Потому что iPhone и iPad исполняют нативный код без дополнительных инструментов.
А почему с играми не так?
Некоторые игры существуют почти на всех платформах.
В отличие от приложений, игры создаются на межплатформенный движках, вроде Unreal Engine или Unity и компилируются в нативный код. Поэтому отличий между ними не так много.
Они потребляют почти одинаково много памяти, что на iOS, что на Android.
И да, выходит, что 6 Гбайт ОЗУ в iPhone 13 Pro сопоставимы с 8 Гбайт в Samsung Galaxy S21. Так что для Android большой объём ОЗУ — необходимость, а не роскошь.
![undefined](https://www.iphones.ru/wp-content/themes/simpla2/images/logo-transparent.png)
🙈 Все комментарии
Форум →Тоже мне новость)
Про производительность и говорить не надо. Андроид ЛАГАЕТ, хоть ведроты и привыкли не замечать лаги. Абсолютна любая прокрутка на ведре подлагивает, также как анимации. После ИОС разница бросается в глаза постоянно
@?, Не надо фантазировать на тему 10 летней давности. Топы на андроид уже давно не торомозят от слова совсем. Как владелелец аппаратов на обоих системах с уверенностью утверждаю.
Это уже лет 10 наверное все знают)
На андроид вроде уже давно байт-код компилируется в нативный код при установке приложения?
Так что это скорее накладные расходы для среды исполнения.
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как установить аватар в комментариях?
Ответ вот здесьКак убрать нижнюю панель в Сообщениях на iPhone
Как создать дубликат приложения на iPhone?
Почему не получается установить macOS Mojave 10.14 на Mac
Как вручную сгружать неиспользуемые приложения на iPhone
Как в macOS включить подсказку для пароля разблокировки
Экран iPhone X не включается, пока не завершится разговор
Проблемы с обновлением приложений на Mac
В iOS 10 пропала калибровка компаса. Как это исправить?