Ось чому пристрої iOS використовують менше оперативної пам'яті, ніж пристрої Android

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

Ми вже вивчили питання про те, яка мобільна операційна система більш безпечна і чому програми для iOS зазвичай краще, ніж програми для Android. Але ось що ви, можливо, не помітили: пристрої iOS часто мають половину оперативної пам'яті (або менше) пристроїв Android. Чому це?

Порівняння оперативної пам'яті на iPhone проти Android

У цій статті ми розглянемо деякі з новітніх кращих Android-пристроїв від декількох виробників і порівняємо їх з iPhone 8, iPhone 8 Plus і iPhone X.

Це все Android-пристрої 2017 року, які представляють найкраще з кращого, доступного в даний час для споживачів смартфонів. Як ви можете бачити, ці специфікації ОЗП є здоровенними і обійдуться вам у копієчку. Чекайте заплатити десь від 650 до 1000 доларів за них.

Щоб дати вам уявлення про те, як багато 8 ГБ ОЗУ, майте на увазі, що більшість сучасних ноутбуків навіть не поставляються з такою кількістю. Наприклад, більшість Chromebook ери 2017 року мають ємність 4 ГБ, і тільки деякі моделі пропонують 8-ГБ складання - і навіть ці високопродуктивні 8-ГБ Chromebook як і раніше дешевше, ніж ці пристрої Android!

Чесно кажучи, тільки OnePlus 5T поставляється з 8 ГБ. Але моя точка зору така: пристрої Android не отримали б стільки оперативної пам'яті, якби їм це не потрібно, вірно? І якщо останні Android-пристрої оснащені 4-8 ГБ оперативної пам'яті, то скільки оперативної пам'яті мають iPhone?

Зачекай хвилинку. В чому справа? Між лінією Apple iPhone 2017 року ми бачимо тільки 2 ГБ на iPhone 8 початкового рівня, 3 ГБ на великому iPhone 8 Plus і 3 ГБ на новітньому iPhone X. У найвищої моделі Apple менше оперативної пам'яті, ніж у iPhone. слабкі варіанти Android!

Між іншим, це не нове. IPhone 7 Plus представив 3 ГБ оперативної пам'яті для лінійки iPhone ще в 2016 році. IPhone 7, iPhone 6s Plus і iPhone 6s працюють на 2 ГБ без проблем. І iPhone 6, який може працювати на iOS 11, як і інші його наступники, має тільки 1 ГБ.

Серйозно, що відбувається? Як iPhone 6 2014 року може стерпно запускати останню версію iOS тільки з 1 ГБ ОЗУ, тоді як для Android потрібно до 8 разів більше?

Навіщо Android-пристроям так багато оперативної пам'яті

З самого початку Android був розроблений для підтримки безлічі різних типів процесорів, безлічі різних виробників і безлічі різних апаратних конфігурацій. Зазвичай програмне забезпечення, написане для однієї системи, не може просто працювати на іншій; він повинен бути «перенесений» поверх, що часто включає переписування несумісних бітів.

Щоб обійти це, програми Android завжди працювали на платформі Java. Java витончена через свою віртуальну машину: ви можете написати додаток один раз на Java, а потім віртуальна машина «переводить» цей код під час виконання для роботи на будь-якій системі, на якій він працює. Замість того, щоб переписувати і перекомпілювати код самостійно, віртуальна машина Java обробляє його для вас.

Але це йде з ціною.

Віртуальна машина Java складна і вимагає багато оперативної пам'яті, не тільки для управління фактичними процесами самої віртуальної машини, але також для зберігання вихідного коду Java для будь-якого виконуваного програми плюс перекладений код, який фактично виконується виконавцем. система.

З одного боку, віртуальна машина в Android з роками покращилася і не вимагає стільки оперативної пам'яті, скільки раніше. З іншого боку, програми для Android стають все більш і більш просунутими - можливо, навіть роздутими - і, отже, вимагають більше оперативної пам'яті для роботи. ОЗУ також необхідно для фонових процесів, які часто зустрічаються в додатках для Android.

Нарешті, операційна система Android побудована навколо методу, званого «складання сміття». Програмам фактично рекомендується використовувати стільки оперативної пам'яті, скільки їм потрібно. Потім, час від часу, Android очищає дані в ОЗУ, які більше не використовуються («сміття»), і звільняє їх, дозволяючи іншим додаткам використовувати їх. Цей метод, хоча й ефективний, найбільш оптимальний, коли потрібно багато оперативної пам'яті, інакше система витрачає занадто багато часу на збір сміття.

З цих причин ми рекомендуємо принаймні 4 ГБ оперативної пам'яті на Android, якщо ви дбаєте про плавну роботу. Якщо ви цього не зробите, то 2 ГБ має бути мінімумом.

Чому iOS не використовує стільки оперативної пам'яті, скільки Android

Apple забезпечує набагато більший контроль над всією екосистемою iOS. Якщо ви хочете використовувати iOS, то у вас є тільки один варіант для телефону: iPhone. Якщо ви хочете створювати програми для iOS, ви повинні використовувати інструменти Apple і робити це так, як це робить Apple. Apple править з міцним кулаком.

Однак у цьому є багато переваг.

Оскільки Apple знає точні специфікації кожного пристрою, на якому коли-небудь буде працювати її операційна система, вони можуть відповідним чином приймати рішення щодо проектування. Наприклад, тоді як Android повинен підтримувати кілька типів процесорів, iOS завжди працює на апаратному забезпеченні на основі ARM.

Таким чином, iOS не потрібна віртуальна машина з перекладом на льоту, як в Android. Всі програми компілюються у власний код, і цей код виконується безпосередньо на обладнанні. Відсутність необхідності у віртуальній машині означає значно менше використання оперативної пам'яті.

Крім того, у iOS інший підхід до управління пам'яттю. У той час як пам'ять Android обробляється операційною системою, пам'ять iOS обробляється самими додатками. Замість того, щоб дозволити додаткам займати стільки оперативної пам'яті, скільки вони хочуть, і звільняти її, коли вона більше не використовується, додатки iOS автоматично розподіляють і звільняють пам'ять у міру необхідності.

Коротше кажучи, те, що у айфонів менше оперативної пам'яті, не означає, що вони гірше працюють. У iOS інший підхід до управління пам'яттю, тому що він не використовує віртуальну машину, як Android.