Sule kuulutus

Ideaalne RAM-i hulk, mida telefonid sujuvaks multitegumtööks vajavad, on üsna vaieldav teema. Apple saab oma iPhone'ides hakkama väiksema suurusega, mis on sageli Androidi lahendustest paremini kasutatav. Samuti ei leia te iPhone'ist mingit RAM-i mäluhaldust, Androidil on selle jaoks aga oma spetsiaalne funktsioon. 

Kui lähete näiteks Samsung Galaxy telefonidesse Seaded -> Seadme hooldus, leiate siit RAM-i indikaatori teabega, kui palju ruumi on vaba ja kui palju on hõivatud. Pärast menüül klõpsamist näete, kui palju mälu võtab iga rakendus, samuti on siin võimalus mälu tühjendada. Siin asub ka RAM Plus funktsioon. Selle tähendus on see, et see hammustab sisemälust teatud arvu GB, mida see virtuaalmälu jaoks kasutab. Kas suudate iOS-is midagi sellist ette kujutada?

Nutitelefonid toetuvad RAM-ile. See teenib neid operatsioonisüsteemi salvestamiseks, rakenduste käivitamiseks ja ka osa andmete salvestamiseks vahemällu ja puhvermällu. Seega tuleb RAM-i korraldada ja hallata nii, et rakendused saaksid tõrgeteta töötada, isegi kui need taustale visata ja mõne aja pärast uuesti avada.

Swift vs. Java 

Kuid uue rakenduse käivitamisel peab selle laadimiseks ja käivitamiseks olema mälus vaba ruumi. Kui see nii ei ole, tuleb koht vabastada. Seetõttu lõpetab süsteem jõuliselt mõned töötavad protsessid, näiteks juba käivitatud rakendused. Kuid mõlemad süsteemid, st Android ja iOS, töötavad RAM-iga erinevalt.

iOS-i operatsioonisüsteem on kirjutatud Swiftis ja iPhone'id ei pea tegelikult suletud rakendustest kasutatud mälu süsteemi tagasi kasutama. See on tingitud iOS-i ülesehitusest, kuna Apple'il on selle üle täielik kontroll, kuna see töötab ainult oma iPhone'ides. Seevastu Android on kirjutatud Java keeles ja seda kasutatakse paljudes seadmetes, seega peab see olema universaalsem. Kui rakendus lõpetatakse, tagastatakse selle kasutatud ruum operatsioonisüsteemile.

Omakood vs. JVM 

Kui arendaja kirjutab iOS-i rakenduse, kompileerib ta selle otse koodiks, mis saab töötada iPhone'i protsessoris. Seda koodi nimetatakse algkoodiks, kuna selle käitamiseks ei ole vaja tõlgendamist ega virtuaalset keskkonda. Android seevastu on erinev. Java koodi kompileerimisel teisendatakse see Java Bytecode vahekoodiks, mis on protsessorist sõltumatu. Seetõttu võib see töötada erinevate tootjate erinevatel protsessoritel. Sellel on platvormidevahelise ühilduvuse jaoks tohutud eelised. 

Muidugi on sellel ka miinus. Iga operatsioonisüsteemi ja protsessori kombinatsioon vajab Java virtuaalmasina (JVM) nime all tuntud keskkonda. Kuid algkood toimib paremini kui JVM-i kaudu käivitatav kood, nii et JVM-i kasutamine suurendab lihtsalt rakenduse kasutatava RAM-i mahtu. Seega kasutavad iOS-i rakendused vähem mälu, keskmiselt 40%. See on ka põhjus, miks Apple ei pea oma iPhone'e varustama nii suure RAM-iga kui Android-seadmetega. 

.