Zavrieť reklamu

Ideálne množstvo pamäte RAM, ktoré telefóny potrebujú pre svoj plynulý multitasking, je pomerne diskutovaná téma. Apple si totiž vo svojich iPhonoch vystačí s menšou veľkosťou, a aj s tou je často použiteľnejšie ako riešenie s Androidom. V iPhone tiež prakticky nenájdete akúkoľvek správu RAM pamäte, zatiaľ čo Android má na to vyčlenenú vlastnú funkciu. 

Pokiaľ pôjdete napr. v telefónoch Samsung Galaxy do nastavenie -> Péče o zariadenia, nájdete tu ukazovateľ pamäte RAM s informáciou, koľko priestoru je voľného a koľko zabraného. Po rozkliknutí ponuky tu vidíte, koľko pamäte si ktorá aplikácia berie s tým, že tu máte aj možnosť pamäť vymazať. Nachádza sa tu aj funkcia RAM Plus. Jej zmysel je taký, že z interného úložiska odhryzne určitý počet GB, ktoré použije pre virtuálnu pamäť. Dokážete si niečo také predstaviť na iOS?

Chytré telefóny na pamäť RAM spoliehajú. Slúži im totiž na uloženie operačného systému, na spúšťanie aplikácií a tiež na ukladanie niektorých ich dát do medzipamäte a vyrovnávacej pamäte. Pamäť RAM tak musí byť usporiadaná a spravovaná tak, aby aplikácie mohli hladko fungovať, aj keď ich zhodíte na pozadí a za chvíľu zase otvoríte.

Swift vs. Java 

Pri spustení novej aplikácie je ale potrebné mať voľné miesto v pamäti, aby sa tá načítala a spustila. Ak tomu tak nie je, musí sa miesto uvoľniť. Systém teda natvrdo ukončí nejaké bežiace procesy, akými sú práve predovšetkým už skôr spustené aplikácie. Oba systémy, teda Android a iOS, však s RAM pracujú odlišne.

Operačný systém iOS je písaný vo Swifte a iPhony vlastne nepotrebujú recyklovať použité pamäte zo zatvorených aplikácií späť do systému. Je to dané tým, ako je iOS stavaný, pretože Apple nad ním má vzhľadom na to, že ide len na jeho iPhonoch, plnú kontrolu. Oproti nemu je Android písaný v Jave, a je používaný na mnohých zariadeniach, preto musí byť univerzálnejší. Pri ukončení aplikácie je totiž miesto, ktoré tá zabrala, vrátené späť operačnému systému.

Natívny kód vs. JVM 

Keď autor napíše aplikáciu pre iOS, skompiluje ju priamo do kódu, ktorý môže bežať na procesore iPhonu. Tomuto kódu sa hovorí natívny kód, pretože k svojmu behu nevyžaduje žiadnu interpretáciu ani virtuálne prostredie. Naproti tomu pri systéme Android je tomu inak. Keď je kód v jazyku Java kompilovaný, zmení sa na medzikód Java Bytecode, ktorý je nezávislý od procesora. Ten teda môže bežať na rôznych procesoroch rôznych výrobcov. To má obrovské výhody pre kompatibilitu medzi platformami. 

Samozrejme je tu aj nevýhoda. Každá kombinácia operačného systému a procesora potrebuje prostredie známe ako Java Virtual Machine (JVM). Natívny kód má ale lepší výkon ako kód spustený prostredníctvom JVM, takže použitie JVM jednoducho zvyšuje množstvo pamäte RAM, ktorú aplikácia využíva. Aplikácie pre iOS teda vyžívajú menej pamäte, a to v priemere o 40%. Aj preto vlastne Apple nemusí svoje iPhony osadzovať tak vysokými pamäťami RAM, ako je to pri zariadeniach s Androidom. 

.