Миқдори беҳтарини хотираи оперативӣ, ки телефонҳо барои бисёр вазифаҳои ҳамвор ниёз доранд, як мавзӯи баҳсбарангез аст. Apple бо андозаи хурдтар дар iPhone-ҳои худ кор мекунад, ки ин нисбат ба ҳалли Android бештар қобили истифода аст. Шумо инчунин ягон намуди идоракунии хотираи RAM-ро дар iPhone пайдо карда наметавонед, дар ҳоле ки Android барои ин вазифаи махсуси худро дорад.
Агар шумо равед, масалан, дар телефонҳои Samsung Galaxy ба Наставени -> Нигоҳубини дастгоҳ, шумо дар ин ҷо як нишондиҳандаи RAM-ро бо маълумот дар бораи он, ки чӣ қадар ҷой озод аст ва чӣ қадар ишғол аст, хоҳед ёфт. Пас аз пахш кардани меню, шумо метавонед бубинед, ки ҳар як барнома чӣ қадар хотираро мегирад ва шумо инчунин имкони тоза кардани хотираро дар ин ҷо доред. Функсияи RAM Plus низ дар ин ҷо ҷойгир аст. Маънии он дар он аст, ки он миқдори муайяни ГБ-ро аз хотираи дохилӣ, ки барои хотираи виртуалӣ истифода мебарад, газад. Оё шумо метавонед дар iOS чунин чизеро тасаввур кунед?
Смартфонҳо ба RAM такя мекунанд. Он ба онҳо барои нигоҳ доштани системаи амалиётӣ, оғоз кардани барномаҳо ва инчунин барои нигоҳ доштани баъзе маълумоти онҳо дар кэш ва хотираи буферӣ хизмат мекунад. Ҳамин тариқ, RAM бояд тавре ташкил ва идора карда шавад, ки барномаҳо бемаънӣ кор кунанд, ҳатто агар шумо онҳоро ба замина партофта, пас аз муддате боз кушоед.
Свифт против. Java
Аммо ҳангоми оғоз кардани барномаи нав, шумо бояд дар хотира фазои холӣ дошта бошед, то онро бор кунед ва иҷро кунед. Агар ин тавр набошад, ҷой бояд холӣ карда шавад. Аз ин рӯ, система баъзе равандҳои иҷрошавандаро маҷбуран қатъ мекунад, ба монанди барномаҳое, ки аллакай оғоз шудаанд. Аммо, ҳарду система, яъне Android ва iOS, бо RAM ба таври гуногун кор мекунанд.
Системаи оператсионии iOS дар Swift навишта шудааст ва iPhones аслан лозим нест, ки хотираи истифодашударо аз барномаҳои пӯшида ба система дубора коркард кунанд. Ин ба тарзи сохта шудани iOS вобаста аст, зеро Apple онро пурра назорат мекунад, зеро он танҳо дар iPhones худ кор мекунад. Баръакс, Android дар Java навишта шудааст ва дар бисёр дастгоҳҳо истифода мешавад, аз ин рӯ он бояд универсалтар бошад. Вақте ки барнома қатъ карда мешавад, фазои гирифтааш ба системаи оператсионӣ баргардонида мешавад.
Рамзи ватанӣ vs. JVM
Вақте ки таҳиякунанда як барномаи iOS-ро менависад, онҳо онро мустақиман ба код тартиб медиҳанд, ки метавонад дар протсессори iPhone кор кунад. Ин код рамзи модарӣ номида мешавад, зеро он барои иҷро кардани тафсир ё муҳити виртуалӣ ниёз надорад. Android, аз тарафи дигар, гуногун аст. Вақте ки рамзи Java тартиб дода мешавад, он ба коди мобайнии Java Bytecode табдил дода мешавад, ки аз протсессор мустақил аст. Аз ин рӯ, он метавонад дар протсессори гуногуни истеҳсолкунандагони гуногун кор кунад. Ин барои мутобиқати кросс-платформа бартариҳои бузург дорад.
Албатта, як камбудй низ дорад. Ҳар як системаи амалиётӣ ва комбинатсияи протсессор ба муҳити бо номи Java Virtual Machine (JVM) ниёз дорад. Аммо рамзи модарӣ нисбат ба рамзи тавассути JVM иҷрошуда беҳтар кор мекунад, аз ин рӯ истифодаи JVM миқдори RAM-и аз ҷониби барнома истифодашавандаро зиёд мекунад. Ҳамин тавр, барномаҳои iOS хотираи камтарро истифода мебаранд, ба ҳисоби миёна 40%. Аз ин рӯ, ба Apple лозим нест, ки iPhone-ҳои худро бо хотираи RAM муҷаҳҳаз кунад, зеро он бо дастгоҳҳои Android.
Ман аслан коршинос нестам, аммо ман нуқтаи назари худро аз нуқтаи назари корбаре тавсиф мекунам, ки андроидро 15 сол истифода кардааст ва ҳоло 2 моҳ ба iPhone 13 mini шудааст. Дар андроид бо хотираи 8 ГБ (ба наздикӣ Samsung S21, Flip3) ман одатан пас аз як муддати муайян ба замимаи қаблан оғозшуда бармегаштам ва он ҳанӯз дар RAM бор карда шуда буд, аз ин рӯ он аз нав оғоз нашуд ва ман метавонистам осонтар аз он ҷое гирам. монд. Аз тарафи дигар, ҳатто бо хотираи 8 ГБ, ман дар як ҳафта як маротиба тамоми барномаҳоро "парронам" мекунам, то хотираи оперативӣ тоза карда шавад, зеро система бо хотираи пурра суст шуданро оғоз кард. Ман бо суст кардани iPhone мушкилӣ надорам, аммо аз тарафи дигар, бояд бигӯям, ки ҳангоми истифодаи барномаҳои қариб якхела, баръакс, мунтазам бо ман рӯй медиҳад, ки вақте ки ман ба замимаи қаблан оғозшуда бармегардам, он боз пурра бор мекунад ва ман наметавонам бемалол аз ҷое, ки мондам, идома диҳам.
Кадом вариант беҳтар аст? Гуфтан душвор… Қатли барномаҳо дар андроид ва тоза кардани хотираи оперативӣ кори ду клик аст. Боркунии пурраи замима аз нав дар iPhone он қадар вақтро талаб намекунад, аз ин рӯ он қадар муҳим нест... Албатта, дар iPhone бештар хотираи оперативӣ доштан ва монанди Android мултипликаторӣ кардан беҳтарин мебуд :-D
Бале, ин боз аблаҳ аст. Барои як чиз, Android дар Java муддати тӯлонӣ иҷро нашудааст, ин барои Котлин аст. Ҷамъоварии партовҳо барои хотира масъул аст, ки соддатарин дар iOS аст, ки ҳатто бо камбудиҳои худ вуҷуд дорад. Ҳама чиз дар он аст, ки iOS вақте ки шумо онҳоро аз экран хориҷ мекунед, барномаҳоро мекушад. Ин хотираро ба монанди Linux ҳангоми ворид кардани kill pid-и раванд озод мекунад. Ин аст, ки барои кушодани браузер ва баргаштан ба кори пештара ин қадар вақт лозим аст. Ин мақола тарҷумаи калимаи мақолаи X-сола аз ҷониби як мухлиси iOS мебошад, ки дониши барномасозӣ надорад. Бале, албатта, идоракунии хотира асосан ба дӯши барномасоз аст, ки барнома чӣ кор мекунад. Агар вай ба он сулфа кунад, дар ҷаҳон ихроҷи хотира вуҷуд дорад ва pqk шумо метавонед X Гб хотира дошта бошед ва он ҳоло ҳам бефоида аст. Ва дар замоне, ки бисёре аз барномаҳо танҳо WebView мебошанд, ин хеле содда аст, зеро худаш он чизеро, ки метавонад бихӯрад. Мақола сафсата, ахлот аст.
Android дигар на jvm, балки dvm-ро истифода мебарад. Илова бар ин, он онро ба файли иҷрошавандаи маҳаллӣ тартиб медиҳад
Java ҳоло ҳам дар Android аст.