Apple оснащает свои флагманы только 3 ГБ оперативной памяти, тогда как девайсы с Android сегодня имеют уже до 8 ГБ. Можно сделать вывод, что Android требует больше оперативной памяти для своей работы. Эксперты Android Authority попытались разобраться, так ли это.
Оперативная память (ОЗУ, Random Access Memory, RAM) – это накопитель, который имеет очень высокую скорость работы – данные передаются в сотни раз быстрее флэш-память. Она энергозависима – при зниканні питания информация в нем уничтожается. Именно поэтому в RAM хранится только текущая работа – запущенные приложения, открытые файлы и тому подобное. Кроме этого она очень дорогая по сравнению с флеш, поэтому ОЗУ насчитывает лишь несколько гигабайт.
В свои смартфоны Apple ставит меньше памяти, чем получают флагманы от Samsung, LG, Google:
Год | iPhone | Samsung | LG | |
---|---|---|---|---|
2016 | iPhone 7: 2GB iPhone 7 Plus: 3GB |
S7 & S7 Edge: 4GB | G5: 4GB V20: 4GB |
Pixel & Pixel XL: 4GB |
2015 | iPhone 6S: 2GB iPhone 6S Plus: 2GB |
S6 & S6 Edge: 3GB S6 Edge+: 4GB |
G4: 3GB V10: 4GB |
Nexus 5X: 2GB Nexus 6P: 3GB |
2014 | iPhone 6: 1GB iPhone 6 Plus: 1GB |
S5: 2GB | G3: 2GB (16 GB model) G3: 3GB (32 GB model) |
Nexus 6: 3GB |
2013 | iPhone 5S: 1GB | S4: 2GB | G2: 2GB | Nexus 5: 2GB |
Популярное мнение, что iPhone имеет более плавную работу с меньшим количеством ОЗУ. Причиной часто называют Java-машину, которая используется для работы приложений в Android, и требует ресурсов для собственной работы.
Что такое свободная оперативная память
Управление памятью на современных гаджетах (ПК, ноутбуки, планшеты, смартфоны) является сложным процессом из-за необходимости обеспечить многозадачность, а также необходимость запускать приложения, которые требуют больше RAM, чем доступно на устройстве.
На Android и iOS оперативная память выделяется для самой ОС, есть секции (называются страницами) для приложений, а также есть незанятое пространство. Однако держать ОЗУ пустой не выгодно, ведь она работает очень быстро, и лучше загрузить в нее необходимые данные. Этот процесс называется кэширование. Когда приложениям не хватает ОЗУ, система удаляет кэш и освобождает место. При этом в информации о гаджет можно увидеть раздел «доступная ОЗУ» — это объем, который ОС держит для того, чтобы в него можно было мгновенно загрузить новую порцию приложений без затраты времени на очистку кэша.
Следовательно, с практической точки зрения объем свободной оперативной памяти не важен. Гораздо более информативным является информация о доступную оперативную память, которую ОС может освободить от кэша приложений.
В Android Authority проверили, сколько Android и iOS потребляют сразу после запуска на iPhone 7 и Nexus 5X. Гаджет iOS имел 730 МБ доступной памяти. Android имел 840 МБ доступной RAM, то есть он использует почти на 100 МБ меньше iOS.
Путаница размеров
Так же как свободная RAM не является тем самым, что и доступная RAM, с размерами приложений также существует путаница. Скажем, приложение запрашивает для загрузки 1 МБ. Однако система не торопится выделять ему реальную оперативную память, а выделяет виртуальную. Физическую RAM программа получает только для выполнения каких-то действий и ее количество может быть менее востребованной приложением. Подобный объем называется Resident Set Size (RSS) и показывает сколько на самом деле оперативной памяти требуется приложению для работы. Чтобы посмотреть этот объем необходимо использовать специализированные инструменты.
В Android Authority проверили значения RSS для популярных игр и приложений на Android и iOS. Во всех случаях эксперты заставляли программу работать и выполнять действия. На диаграмме можно увидеть, что приложения Android требуют примерно на 6% больше RAM, чем iOS. При этом на обоих ОС количество занятой приложением ПАМЯТИ не превышала 400 МБ.
Фоновый режим
Когда пользователь убирает с экрана то приложение переходит в фоновый режим. Операционные системы имеют особое отношение к таким процессам, ведь важно скачать новое приложение. Если для него не хватит ОЗУ, система может воспользоваться объемом, который занимают фоновые приложения. На ПК это означает, что фоновый приложение переместится из физической памяти в виртуальную на жестком диске. Это медленный и затратный процесс, который известен как использование файла подкачки (swap file).
Android и iOS не используют такую схему как на ПК из-за того, что скорость работы флеш-памяти очень низкая, а также она имеет ограниченное количество записей. Вместо этого используется «сжатый подкачки». Вместо перемещения страниц оперативной памяти на диск в файл подкачки ОС сжимает их, оставляя в ОЗУ. Освободившееся пространство становится доступной RAM.