Зачыніць аб'яву

Ідэальны аб'ём аператыўнай памяці, неабходны тэлефонам для бесперабойнай шматзадачнасці, з'яўляецца даволі дыскусійнай тэмай. Apple абыходзіцца меншым памерам сваіх айфонаў, які часта больш зручны, чым рашэнні для Android. Вы таксама не знойдзеце ніякіх відаў кіравання аператыўнай памяццю на iPhone, у той час як у Android для гэтага ёсць свая спецыяльная функцыя. 

Калі вы ідзяце, напрыклад, у тэлефонах Samsung Galaxy Настаўлены -> Сыход за прыладай, тут вы знойдзеце індыкатар аператыўнай памяці з інфармацыяй аб тым, колькі вольнага месца і колькі занята. Пасля націску на меню вы можаце ўбачыць, колькі памяці займае кожнае прыкладанне, і ў вас таксама ёсць магчымасць ачысціць памяць тут. Таксама тут размешчана функцыя RAM Plus. Сэнс яго ў тым, што ён адкусіць ад унутранага назапашвальніка пэўную колькасць ГБ, якое будзе выкарыстоўваць для віртуальнай памяці. Ці можаце вы ўявіць сабе нешта падобнае на iOS?

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

Свіфт супраць. Java 

Але пры запуску новага прыкладання вам трэба мець вольнае месца ў памяці, каб загрузіць і запусціць яго. Калі гэта не так, месца трэба вызваліць. Такім чынам, сістэма будзе прымусова спыняць некаторыя запушчаныя працэсы, напрыклад, прыкладанні, якія ўжо запушчаны. Аднак абедзве сістэмы, гэта значыць Android і iOS, па-рознаму працуюць з аператыўнай памяццю.

Аперацыйная сістэма iOS напісана на Swift, і iPhone насамрэч не трэба перапрацоўваць выкарыстаную памяць з закрытых праграм назад у сістэму. Гэта звязана са спосабам стварэння iOS, таму што Apple мае поўны кантроль над ёй, бо яна працуе толькі на сваіх iPhone. Наадварот, Android напісаны на Java і выкарыстоўваецца на многіх прыладах, таму ён павінен быць больш універсальным. Калі праграма спыняецца, месца, якое яно заняло, вяртаецца ў аперацыйную сістэму.

Родны код супраць. JVM 

Калі распрацоўшчык піша прыкладанне для iOS, ён кампілюе яго непасрэдна ў код, які можа працаваць на працэсары iPhone. Гэты код называецца ўласным кодам, таму што ён не патрабуе інтэрпрэтацыі або віртуальнага асяроддзя для працы. З іншага боку, Android адрозніваецца. Калі код Java кампілюецца, ён пераўтворыцца ў прамежкавы код Java Bytecode, які не залежыць ад працэсара. Такім чынам, ён можа працаваць на розных працэсарах ад розных вытворцаў. Гэта мае велізарныя перавагі для кросплатформеннай сумяшчальнасці. 

Вядома, ёсць і адваротны бок. Кожная камбінацыя аперацыйнай сістэмы і працэсара патрабуе асяроддзя, вядомага як віртуальная машына Java (JVM). Але ўласны код працуе лепш, чым код, які выконваецца праз JVM, таму выкарыстанне JVM проста павялічвае аб'ём аператыўнай памяці, які выкарыстоўваецца дадаткам. Такім чынам, праграмы iOS выкарыстоўваюць менш памяці, у сярэднім на 40%. Гэта таксама тое, чаму Apple не павінна абсталёўваць свае iPhone такім аб'ёмам аператыўнай памяці, як гэта адбываецца з прыладамі Android. 

.