Փակել գովազդը

RAM-ի իդեալական քանակությունը, որն անհրաժեշտ է հեռախոսներին իրենց սահուն բազմաֆունկցիոնալ աշխատանքի համար, բավականին քննարկվող թեմա է: Apple-ը հաղթահարում է իր iPhone-ների ավելի փոքր չափսը, որը հաճախ ավելի օգտագործելի է, քան Android լուծումները: Դուք նաև չեք գտնի RAM-ի հիշողության որևէ կառավարում iPhone-ում, մինչդեռ Android-ն ունի դրա համար հատուկ գործառույթ: 

Եթե ​​դուք գնում եք, օրինակ, Samsung Galaxy հեռախոսներում դեպի Նաստավենի -> Սարքի խնամք, այստեղ դուք կգտնեք RAM-ի ցուցիչ՝ տեղեկություններով, թե որքան տարածք է ազատ և որքան է զբաղված: Մենյուի վրա սեղմելուց հետո դուք կարող եք տեսնել, թե յուրաքանչյուր հավելված ինչքան հիշողություն է վերցնում, ինչպես նաև այստեղ հնարավորություն ունեք մաքրել հիշողությունը: Այստեղ է գտնվում նաև RAM Plus ֆունկցիան։ Դրա իմաստն այն է, որ այն կկծի որոշակի քանակությամբ ԳԲ ներքին պահեստից, որը կօգտագործի վիրտուալ հիշողության համար։ Պատկերացնու՞մ եք նման բան iOS-ում:

Սմարթֆոնները հիմնվում են RAM-ի վրա: Այն ծառայում է նրանց օպերացիոն համակարգը պահելու, հավելվածներ գործարկելու և նաև դրանց որոշ տվյալների քեշում և բուֆերային հիշողության մեջ պահելու համար: Այսպիսով, RAM-ը պետք է կազմակերպվի և կառավարվի այնպես, որ հավելվածները կարողանան սահուն աշխատել, նույնիսկ եթե դրանք թողնեք ֆոն և որոշ ժամանակ անց նորից բացեք:

Սվիֆթ ընդդեմ. Java 

Բայց նոր հավելված գործարկելիս պետք է հիշողության մեջ ազատ տարածք ունենալ այն բեռնելու և գործարկելու համար: Եթե ​​դա այդպես չէ, ապա տեղը պետք է ազատվի: Հետևաբար, համակարգը հարկադրաբար կդադարեցնի որոշ գործող գործընթացներ, ինչպիսիք են արդեն մեկնարկած հավելվածները: Այնուամենայնիվ, երկու համակարգերը, այսինքն՝ Android-ը և iOS-ը, տարբեր կերպ են աշխատում RAM-ի հետ:

iOS օպերացիոն համակարգը գրված է Swift-ով, և iPhone-ները իրականում կարիք չունեն փակ հավելվածներից օգտագործված հիշողությունը վերամշակելու համակարգ: Սա պայմանավորված է iOS-ի կառուցման ձևով, քանի որ Apple-ը լիովին վերահսկում է այն, քանի որ այն աշխատում է միայն իր iPhone-ներով: Ի հակադրություն, Android-ը գրված է Java-ով և օգտագործվում է բազմաթիվ սարքերում, ուստի այն պետք է լինի ավելի ունիվերսալ: Երբ հավելվածն ավարտվում է, դրա զբաղեցրած տարածքը վերադարձվում է օպերացիոն համակարգ:

Մայրենի կոդը ընդդեմ. JVM 

Երբ ծրագրավորողը գրում է iOS հավելված, նրանք այն ուղղակիորեն կազմում են կոդի, որը կարող է աշխատել iPhone-ի պրոցեսորով: Այս կոդը կոչվում է հայրենի կոդ, քանի որ այն գործարկելու համար չի պահանջում մեկնաբանություն կամ վիրտուալ միջավայր: Android-ը, մյուս կողմից, տարբեր է: Երբ Java կոդը կազմվում է, այն փոխարկվում է Java Bytecode միջանկյալ կոդի, որը պրոցեսորից անկախ է։ Հետևաբար, այն կարող է աշխատել տարբեր արտադրողների տարբեր պրոցեսորների վրա: Սա հսկայական առավելություններ ունի միջպլատֆորմային համատեղելիության համար: 

Իհարկե, կա նաև բացասական կողմ. Յուրաքանչյուր օպերացիոն համակարգի և պրոցեսորի համակցության կարիք ունի միջավայր, որը հայտնի է որպես Java վիրտուալ մեքենա (JVM): Բայց հայրենի կոդը ավելի լավ է գործում, քան JVM-ի միջոցով կատարված կոդը, ուստի JVM-ի օգտագործումը պարզապես մեծացնում է հավելվածի կողմից օգտագործվող RAM-ի քանակը: Այսպիսով, iOS հավելվածներն ավելի քիչ հիշողություն են օգտագործում՝ միջինը 40%: Ահա թե ինչու Apple-ը ստիպված չէ իր iPhone-ները համալրել այնքան RAM-ով, որքան Android սարքերի դեպքում: 

.