Πόση RAM χρειάζεται το smartphone σου το 2019;

smartphone-ram

Ο πόλεμος χαρακτηριστικών μεταξύ των εταιρειών είναι αναπόφευκτος. Οι εταιρείες προσπαθούν να προσφέρουν όλο και περισσότερα και καλύτερα χαρακτηριστικά για να διαφοροποιηθούν σε σχέση με τον ανταγωνισμό. Τα περισσότερα από αυτά τα πρόσθετα χαρακτηριστικά, είναι απαραίτητα, ωστόσο το θέμα της RAM σηκώνει περαιτέρω συζήτηση.

Πίσω στις πρώτες ημέρες των Android smartphones, οι συσκευές είχαν 512MB RAM ή ίσως 1GB. Ήταν οι απαρχές της επανάστασης στα smartphones. Με την πάροδο του χρόνου, προστέθηκε όλο και περισσότερη RAM. Μέχρι το 2014, τα περισσότερα high end smartphones είχαν 3GB RAM και κατά τη διάρκεια του 2016-2017, τα 4GB έγιναν η defacto επιλογή. Στη συνέχεια ξεκίνησε ο πόλεμος που αναφέραμε. Πρώτα ήρθαν συσκευές με 6GB, 8GB, 10GB και έπειτα με 12GB. Πότε όμως θα τελειώσει αυτό και ως μέχρι που θα φτάσουμε;

Με την RAM να αυξάνεται κάθε τρίμηνο, θα πρέπει να αρχίσουμε να αναρωτιόμαστε πόση RAM χρειαζόμαστε στη πράξη. Αυτό που χρειαζόμαστε είναι μια όσο κατά το δυνατόν πιο αντικειμενική προσέγγιση στο πόση RAM είναι απαραίτητη σήμερα. Για να απαντήσουμε όμως στο ερώτημα αυτό θα πρέπει να δούμε πως το Android διαχειρίζεται τη RAM.

Η διαχείριση της RAM από το Android

Όταν εκκινείς μια νέα εφαρμογή στο Android, το Linux Kernel δημιουργεί ένα νέο process – διεργασία. Αν η διεργασία απαιτεί περισσότερο χρόνο στο CPU και και το CPU είναι idle, τότε το kernel δίνει στη διεργασία περισσότερο “execution time”, περισσότερο χρόνο εκτέλεσης. Αν χρειάζεται περισσότερη RAM και είναι διαθέσιμη, το kernel απλά χρειάζεται να βρει ποια διεργασία χρησιμοποιεί ποια bits της μνήμης. Ωστόσο, όταν οι πόροι είναι λίγοι, τότε τα πράγματα γίνονται πιο περίπλοκα. Αν το CPU είναι απασχολημένο, η δουλειά θα συνεχίσει να γίνεται, όχι όμως τόσο γρήγορα. Στη RAM όμως, τα πράγματα είναι διαφορετικά. Το Kernel εδώ θα πρέπει να έχει μεριμνήσει να πάρει πίσω λίγη RAM.

Τόσο το Linux όσο και το Android, το διαχειρίζονται αυτό με δυο τρόπους. Πρώτον υπάρχει ο όρος του swapping με τη χρήση της zRAM. Το Android μπορεί να διαθέσει τμήματα της φυσικής μνήμης για το swapping. Το swapping είναι μια ιδέα που το Linux χρησιμοποιεί σε servers και σε PCs. Όταν δεν υπάρχει διαθέσιμη πολύ μνήμη, τα παλαιότερα pages και αυτά που δεν χρησιμοποιούνται πολύ μεταφέρονται στο δίσκο και η μνήμη που καταλάμβαναν γίνεται διαθέσιμη για άλλους σκοπούς. Αν τα δεδομένα αυτά χρειαστούν αργότερα, τα αποθηκευμένα δεδομένα διαβάζονται από το δίσκο και μεταφέρονται στη μνήμη για να χρησιμοποιηθούν.

Όταν ένα process απαιτεί περισσότερη RAM και η RAM δεν είναι διαθέσιμη, το kernel θα προσπαθήσει να απελευθερώσει RAM μέσω της διαδικασίας του swapping. Αν δεν μπορεί να βρεθεί ικανοποιητικό μέγεθος RAM, το Kernel χρειάζεται να ακολουθήσει μια πιο επιθετική πολιτική και να ξεκινήσει τις διαδικασίες killing των processes. Πρέπει να σκοτώσει μια υπάρχουσα διαδικασία, για να κάνει χώρο για άλλη. Το κλειδί εδώ, είναι ότι το τρέχον memory request προέρχεται από το app, που βρίσκεται σε χρήση αυτή τη στιγμή. Με άλλα λόγια το kernel διενεργεί διάφορους ελέγχους και αποφασίζει ποιο process να σκοτώσει για να απελευθερώσει μνήμη. Αν για παράδειγμα, άνοιξες το Cancdy Crush τρεις ημέρες πριν, αλλά δεν επέστρεψες, τότε το Kernel υποθέτει ότι δεν θα μεταβείς σε αυτό, οπότε το σκοτώνει. Αυτό απελευθερώνει μνήμη και επιτρέπει στο τρέχον app να συνεχίζει να τρέχει. Όλα αυτά τα διαχειρίζεται ο Low Memory Killer driver. Ενδιαφέρον παρουσιάζει το γεγονός, ότι οι μελλοντικές εκδόσεις του Android, θα το διαχειρίζονται διαφορετικά.

Αυτό σημαίνει, ότι όταν ξεκινάς μια νέα εφαρμογή, οι εφαρμογές που βρίσκονται προηγουμένως στη μνήμη θα αφαιρούνται για να δημιουργηθεί χώρος. Αν μεταβείς σε αυτά τα apps, με τη χρήση του recent apps, τότε τα apps θα ξαναφορτωθούν, παρόμοια με μια αρχική εκκίνηση. Αν και το σύστημα φαντάζει κάπως επιθετικό, είναι ο τρόπος που το Android έχει σχεδιαστεί. Όλες οι εφαρμογές ειδοποιούνται ότι θα “σκοτωθούν” και θα μετακινηθούν σε διαφορετικές καταστάσεις, επιτρέποντάς τους να αποθηκεύσουν την τρέχουσα κατάστασή τους. Όταν φορτωθούν ξανά, οι εφαρμογές απλά θα διαβάζουν την τελευταία τους κατάσταση και θα συνεχίσουν από εκεί που είχαν μείνει.

Πόση μνήμη χρησιμοποιούν οι εφαρμογές;

Αν ο low memory killer ενεργοποιείται πολύ συχνά, η συνολική εμπειρία του χρήστη θα επηρεαστεί. Στη χειρότερη περίπτωση, κάθε φορά που αφήνεις μια εφαρμογή για να ξεκινήσεις μια νέα, η προηγούμενη θα “σκοτωθεί” για να γίνει χώρος για την καινούργια. Ωστόσο υπάρχει ένα σημείο πάνω από το οποίο μια εφαρμογή αφαιρείται για να γίνει χώρος για μια νέα. Από τη στιγμή που το app είναι παλιό, υπό την έννοια ότι δεν έχει χρησιμοποιηθεί για μεγάλο διάστημα, ο χρήστης δεν θα διαπιστώσει ότι αφαιρέθηκε από τη μνήμη. Όταν φθάσουμε σε αυτό το σημείο, η συχνότητα των εφαρμογών που αφαιρούνται μικραίνει, καθώς δεν θα κάνει την διαφορά στην εμπειρία χρήσης.

Για να δούμε όμως ποιες εφαρμογές σκοτώνονται, μαζί με την ποσότητα της διαθέσιμης RAM, αλλά και πόση χρησιμοποιούν τα apps που τρέχουν, το androidauthority έγραψε μια εφαρμογή η οποία χρησιμοποιεί το Android Debug bridge. Εν ολίγοις, υπάρχουν τρεις κατηγορίες εφαρμογών. Τα standard apps χρησιμοποιούν μεταξύ 130-400MB RAM, πρόκειται για εφαρμογές όπως Youtube και WhatsApp καθώς και παιχνίδια όπως Crossy Road και Candy Crush.

Στη συνέχεια υπάρχουν εφαρμογές media που φορτώνουν πολλές εικόνες και επομένως χρησιμοποιούν περισσότερη RAM. Εδώ θα βρεις τίτλους όπως το Google Photos και το Instagram. Αυτά τα apps χρησιμοποιούν μεταξύ 400MB-700MB. Και τέλος, υπάρχει η κατηγορία με τις εφαρμογές που χρησιμοποιούν πολύ περισσότερη μνήμη, όπως παιχνίδια σαν τα Need for Speed: No Limits ή PUBG Mobile που μπορεί να ξοδέψουν από 800MB ως 1152MB. Και εδώ ανήκει και ο Chrome με 3 ανοιχτά tabs. Το μέγεθος της μνήμης που χρησιμοποιείται στη συσκευή εξαρτάται σε μεγάλο βαθμό από ποιες εφαρμογές τρέχεις.

Πόση RAM έχω;

Κάθε Android smartphone έρχεται με μια fixed ποσότητα RAM. Είναι μέρος της motherboard του τηλεφώνου και δεν είναι αναβαθμίσιμη. Το Pixel 3 έχει 4GB, το Note 9 (128GB) έχει 6GB και το OnePlus 6T έχει 8GB. Από την μεριά του το OnePlus 6T McLaren edition έχει 10GB και το Lenovo Z5 Pro GT έχει 12GB. Αν και είναι σημαντικό να γνωρίζεις τι μέγεθος μνήμης έχει το τηλέφωνό σου, απαραίτητο είναι και να γνωρίζεις πόση είναι διαθέσιμη για τρέξιμο εφαρμογών. Παρακάτω ακολουθεί ένα γράφημα που δείχνει μερικές συσκευές με την εγκατεστημένη RAM και την διαθέσιμη. Η διαθέσιμη (available), είναι αυτή που είναι διαθέσιμη για την εκκίνηση νέων εφαρμογών, χωρίς το swapping.

Τα Mate 8 και Pixel 3, όπως και το Note 8, καθιστούν το 50% της εγκατεστημένης, διαθέσιμη για τις εφαρμογές των χρηστών. Αυτός ο αριθμός αυξάνεται λίγο με το Note 9 και το OnePlus 6T, με το τελευταίο να προσφέρει 66% της εγκατεστημένης RAM στο χρήστη. Είναι επίσης ενδιαφέρον να σημειώσουμε ότι υπάρχουν διαφορετικά επίπεδα χρήσης zRAM σε κάθε κατασκευαστή. Το Mate 8 επιλέγει μόλις 0.5GB swap, ενώ το Note 8 έχει ρυθμιστεί να χρησιμοποιεί 2.5GB. Η OnePlus έχει τόση αυτοπεποίθηση που δεν χρησιμοποιεί καθόλου swap.

Μια συσκευή σαν το Pixel 3 XL, μπορεί να κρατήσει τουλάχιστον 5 κανονικά apps στη μνήμη χωρίς swapping. Αυτό σημαίνει ότι μπορείς να μεταβείς μεταξύ των Youtube, WhatsApp, Spotify, Candy Crush και Google Play χωρίς να ανησυχείς. Αν ξεκινήσεις να χρησιμοποιείς περισσότερες εφαρμογές, τότε το Pixel 3XL θα αρχίσει να χρησιμοποιεί πιο επιθετικά το swap για να σου απελευθερώσει μνήμη.

Από την άλλη μεριά, το Note 8 και το Note 9 έχουν 6GB RAM με 2.5GB διαθέσιμα στον χρήστη στο Note 8 και 3.5GB στο Note 9. Και τα δυο έχουν τουλάχιστον 2GB swap space. Αυτό σημαίνει ότι μπορείς να εναλλάξεις μεταξύ ενός ιδιαίτερου απαιτητικού παιχνιδιού (ή του Chrome), ή μιας media εφαρμογής όπως το Instagram και 5 ή περισσότερα standard apps θα παραμείνουν στη μνήμη. Αν χρησιμοποιήσεις περισσότερες εφαρμογές, το τηλέφωνο θα ξεκινήσει τη χρήση περισσότερου swap χώρου. Με άλλα λόγια, αυτό αυξάνει τον αριθμό των εφαρμογών που παραμένουν στη μνήμη ακόμη περισσότερο.

Τα 6GB smartphones μπορούν να πραγματοποιήσουν εναλλαγή μεταξύ μιας ντουζίνας εφαρμογών ή και περισσότερες, συμπεριλαμβανομένων κάποιων ιδιαίτερα απαιτητικών, χωρίς να κάνουν reload. Και εδώ είναι η απαρχή της χρυσής τομής. Τα συνήθη apps παραμένουν στη μνήμη για μεγάλες χρονικούς περιόδους και η εμπειρία του multitasking είναι σε υψηλά επίπεδα, τον περισσότερο χρόνο.Και τα 8GB σου επιτρέπουν να έχεις ακόμη περισσότερες εφαρμογές χωρίς reloading. Πάνω από 8GB; Κάτι τέτοιο δεν έχει νόημα. Ακόμη και σε ένα τηλέφωνο με 3GB, η συζήτηση δεν επικεντρώνεται στα ποια apps η συσκευή μπορεί να τρέξει, αλλά σε πόσα apps μπορεί ταυτόχρονα να κρατήσει στη μνήμη.

Ελπίζουμε οι κατασκευαστές να αφήσουν την RAM και να επικεντρωθούν σε πιο ουσιώδη χαρακτηριστικά του design των smartphones.

via