Zavřít reklamu

Ideální množství paměti RAM, které telefony potřebují pro svůj plynulý multitasking, je poměrně diskutované téma. Apple si totiž ve svých iPhonech vystačí s menší velikostí, a i s tou je mnohdy použitelnější než řešení s Androidem. V iPhonu také prakticky nenajdete jakoukoli správu RAM paměti, kdežto Android má k tomu vyčleněnou vlastní funkci. 

Pokud půjdete např. v telefonech Samsung Galaxy do Nastavení -> Péče o zařízení, najdete zde ukazatel paměti RAM s informací, kolik prostoru je volného a kolik zabraného. Po rozkliknutí nabídky zde vidíte, kolik paměti si která aplikace bere s tím, že zde máte i možnost paměť vymazat. Nachází se zde i funkce RAM Plus. Její smysl je takový, že z interního úložiště ukousne určitý počet GB, které použije pro virtuální paměť. Dokážete si něco takového představit na iOS?

Chytré telefony na paměť RAM spoléhají. Slouží jim totiž k uložení operačního systému, ke spouštění aplikací a také k ukládání některých jejich dat do mezipaměti a vyrovnávací paměti. Paměť RAM tak musí být uspořádána a spravována tak, aby aplikace mohly hladce fungovat, i když je shodíte na pozadí a za chvíli zase otevřete.

Swift vs. Java 

Při spuštění nové aplikace je ale třeba mít volné místo v paměti, aby se ta načetla a spustila. Pokud tomu tak není, musí se místo uvolnit. Systém tedy natvrdo ukončí nějaké běžící procesy, jakými jsou právě především již dříve spuštěné aplikace. Oba systémy, tedy Android a iOS, však s RAM pracují odlišně.

Operační systém iOS je psaný ve Swiftu a iPhony vlastně nepotřebují recyklovat použité paměti ze zavřených aplikací zpět do systému. Je to dáno tím, jak je iOS stavěn, protože Apple nad ním má vzhledem k tomu, že jede jen na jeho iPhonech, plnou kontrolu. Oproti němu je Android psaný v Javě, a je používán na mnoha zařízeních, proto musí být univerzálnější. Při ukončení aplikace je totiž místo, které ta zabrala, vráceno zpět operačnímu systému.

Nativní kód vs. JVM 

Když vývojář napíše aplikaci pro iOS, zkompiluje ji přímo do kódu, který může běžet na procesoru iPhonu. Tomuto kódu se říká nativní kód, protože ke svému běhu nevyžaduje žádnou interpretaci ani virtuální prostředí. Naproti tomu u systému Android je tomu jinak. Když je kód v jazyce Java kompilován, změní se na mezikód Java Bytecode, který je nezávislý na procesoru. Ten tedy může běžet na různých procesorech různých výrobců. To má obrovské výhody pro kompatibilitu mezi platformami. 

Samozřejmě je zde i nevýhoda. Každá kombinace operačního systému a procesoru potřebuje prostředí známé jako Java Virtual Machine (JVM). Nativní kód má ale lepší výkon než kód spuštěný prostřednictvím JVM, takže použití JVM jednoduše zvyšuje množství paměti RAM, kterou aplikace využívá. Aplikace pro iOS tedy vyžívají méně paměti, a to v průměru o 40 %. Také proto vlastně Apple nemusí své iPhony osazovat tak vysokými paměťmi RAM, jako je tomu u zařízení s Androidem. 

.