Zamknij reklame

Idealna ilość pamięci RAM potrzebna telefonom do płynnej wielozadaniowości jest dość dyskusyjnym tematem. Apple radzi sobie z mniejszym rozmiarem w swoich iPhone'ach, który często jest bardziej użyteczny niż rozwiązania z Androidem. Na iPhonie nie znajdziemy też żadnego narzędzia do zarządzania pamięcią RAM, choć Android ma do tego własną, dedykowaną funkcję. 

Jeśli pójdziesz na przykład w telefonach Samsung Galaxy do Ustawienia -> Pielęgnacja urządzenia, znajdziesz tutaj wskaźnik pamięci RAM z informacją o tym, ile miejsca jest wolne i ile jest zajęte. Po kliknięciu menu możesz zobaczyć, ile pamięci zajmuje każda aplikacja, a także masz tutaj opcję wyczyszczenia pamięci. Znajduje się tu także funkcja RAM Plus. Oznacza to, że odgryzie pewną ilość GB z pamięci wewnętrznej, którą wykorzysta na pamięć wirtualną. Wyobrażacie sobie coś takiego na iOS?

Smartfony opierają się na pamięci RAM. Służy im do przechowywania systemu operacyjnego, uruchamiania aplikacji, a także do przechowywania części danych w pamięci podręcznej i buforowej. Dlatego pamięć RAM musi być zorganizowana i zarządzana w taki sposób, aby aplikacje mogły działać płynnie, nawet jeśli upuścisz je w tle i po pewnym czasie otworzysz ponownie.

Szybki vs. Jawa 

Jednak uruchamiając nową aplikację, musisz mieć wolne miejsce w pamięci, aby ją załadować i uruchomić. Jeżeli tak nie jest, miejsce należy zwolnić. W związku z tym system wymusi zakończenie niektórych uruchomionych procesów, takich jak już uruchomione aplikacje. Jednak oba systemy, czyli Android i iOS, inaczej działają z pamięcią RAM.

System operacyjny iOS jest napisany w języku Swift, a iPhone'y tak naprawdę nie muszą odzyskiwać zużytej pamięci z zamkniętych aplikacji z powrotem do systemu. Wynika to ze sposobu, w jaki zbudowany jest iOS, ponieważ Apple ma nad nim pełną kontrolę, ponieważ działa tylko na jego iPhone'ach. Natomiast Android jest napisany w Javie i używany na wielu urządzeniach, więc musi być bardziej uniwersalny. Po zakończeniu działania aplikacji zajmowane przez nią miejsce jest zwracane systemowi operacyjnemu.

Kod natywny vs. JVM 

Kiedy programista pisze aplikację na iOS, kompiluje ją bezpośrednio do kodu, który można uruchomić na procesorze iPhone'a. Kod ten nazywany jest kodem natywnym, ponieważ nie wymaga interpretacji ani środowiska wirtualnego do działania. Z Androidem jest jednak inaczej. Kiedy kod Java jest kompilowany, jest on konwertowany na kod pośredni Java Bytecode, który jest niezależny od procesora. Może zatem działać na różnych procesorach różnych producentów. Ma to ogromne zalety w zakresie kompatybilności między platformami. 

Oczywiście jest też minus. Każda kombinacja systemu operacyjnego i procesora wymaga środowiska zwanego wirtualną maszyną Java (JVM). Jednak kod natywny działa lepiej niż kod wykonywany przez maszynę JVM, więc użycie JVM po prostu zwiększa ilość pamięci RAM wykorzystywanej przez aplikację. Dlatego aplikacje na iOS zużywają mniej pamięci, średnio 40%. Z tego też powodu Apple nie musi wyposażać swoich iPhone'ów w tak dużą ilość pamięci RAM, jak ma to miejsce w przypadku urządzeń z Androidem. 

.