Σε αυτή τη δημοσίευση θα δούμε μερικές από τις τελευταίες κορυφαίες συσκευές που τρέχουν με Android και θα τις τοποθετήσουμε δίπλα στα iPhone που κυκλοφόρησαν πρόσφατα.
Όλες οι παρακάτω Android συσκευές κυκλοφόρησαν το 2017 και αντιπροσωπεύουν τα καλύτερα διαθέσιμα smartphones του σήμερα.
Όπως μπορείτε να δείτε, η RAM είναι αρκετά “παραφουσκωμένη” κάτι που κοστίζει επίσης αρκετά. Οι παρακάτω συσκευές κοστίζουν από 650 έως 1.000 δολάρια.
Οι εικόνες είναι από το GSM Arena
Όπως μπορείτε να δείτε το OnePlus 5T έρχεται με 8GB.
Για να σας δώσω μια ιδέα για το πόσο υπερβολικά είναι τα 8GB RAM, θα αναφέρω ότι οι περισσότεροι σύγχρονοι φορητοί υπολογιστές δεν διαθέτουν τόσο μεγάλη προσωρινή μνήμη. Τα περισσότερα Chromebooks του 2017, για παράδειγμα, διαθέτουν 4GB και λίγα μόνο μοντέλα έρχονται με 8GB.
Η πλάκα συνεχίζεται: ακόμη και αυτά τα Chromebook των 8GB είναι φθηνότερα από τις συσκευές Android με την ανάλογη μνήμη!
Έτσι αν οι τελευταίες συσκευές Android έρχονται εξοπλισμένες με RAM από 4 έως και 8GB, τότε πόση RAM διαθέτουν τα iPhone;
Το iPhone 8 του 2017, έρχεται μόνο με 2GB, ενώ το μεγαλύτερο iPhone 8 Plus διαθέτει 3GB μαζί με το iPhone X. Το ακριβότερο μοντέλο της Apple έχει λιγότερη RAM από τις πιο φθηνές συσκευές με Android.
Πώς μπορεί ένα iPhone 6 της εποχής του 2014 να τρέχει με την τελευταία έκδοση του iOS όταν διαθέτει 1 μόνο GB RAM, ενώ τα Androids χρειάζονται x8 φορές τόση RAM;
Το Android σχεδιάστηκε για να υποστηρίζει πολλούς διαφορετικούς τύπους επεξεργαστών, και πολλούς διαφορετικούς κατασκευαστές. Κανονικά, το λογισμικό που έχει γραφτεί για ένα είδος συστήματος δεν μπορεί να τρέξει σε κάποιο άλλο. Πριν λειτουργήσει σε άλλο σύστημα θα πρέπει να “μεταφερθεί” (να γίνει ported) κάτι το οποίο συχνά περιλαμβάνει επανεγγραφή των ασυμβίβαστων bits.
Για να το ξεπεράσουν αυτό, οι εφαρμογές για Android κυκλοφορούν πάντα σε πλατφόρμα Java. Η Java είναι έξυπνη λόγω της εικονικής μηχανής της: μπορείτε να γράψετε μια εφαρμογή σε Java και στη συνέχεια το εικονικό μηχάνημα “μεταφράζει” αυτό τον κώδικα κατά το χρόνο εκτέλεσης για να δουλέψει σε οποιοδήποτε σύστημα τρέχει. Έτσι αντί να ξαναγράψετε και να ανασυνθέσετε τον κώδικα μόνοι σας, η εικονική μηχανή της Java το κάνει μόνη της.
Αυτό φυσικά έρχεται με ένα κόστος.
Η εικονική μηχανή της Java είναι πολύπλοκη και απαιτεί πολλή μνήμη RAM, όχι μόνο για να διαχειριστεί τις διεργασίες της ίδιας της εικονικής μηχανής αλλά και για να μεταφράσει τον αρχικό Java κώδικα μιας εφαρμογής που τρέχει σε κάποιο σύστημα.
Από τη μία το εικονικό μηχάνημα που τρέχει σε συσκευές Android έχει βελτιωθεί με την πάροδο των ετών και δεν απαιτεί τόση RAM όσο κάποτε, αλλά από την άλλη, οι εφαρμογές Android γίνονται ολοένα πιο προηγμένες, μεγαλύτερες και πιο απαιτητικές. Συνεπώς χρειάζονται περισσότερη μνήμη RAM για να λειτουργήσουν.
Αυτός είναι και ο λόγος για τον οποίο οι συσκευές iOS χρησιμοποιούν λιγότερη μνήμη RAM.
Τέλος, το λειτουργικό σύστημα Android είναι από τη φύση του χτισμένο με τέτοιο τρόπο, ούτως ώστε να ενθαρρύνει τις εφαρμογές να χρησιμοποιούν όσο το δυνατόν περισσότερη μνήμη RAM. Στη συνέχεια, κάθε φορά, το Android καθαρίζει τα δεδομένα της μνήμης RAM που δεν χρησιμοποιούνται πλέον (“garbage”) και απελευθερώνει προσωρινή μνήμη, επιτρέποντας σε άλλες εφαρμογές να την χρησιμοποιήσουν. Αυτή η μέθοδος, είναι αποτελεσματική, αλλά όταν υπάρχει πολύ RAM. Διαφορετικά το σύστημα ξοδεύει πάρα πολύ χρόνο συλλέγοντας σκουπίδια.
Για τους λόγους αυτούς, τουλάχιστον 4GB RAM στο Android μάλλον είναι αρκετή για μια ομαλή απόδοση. Εάν δεν διαθέτετε τα χρήματα τότε τα 2GB θα πρέπει να είναι το ελάχιστο.
Γιατί το iOS δεν χρησιμοποιεί τόση RAM όσο το Android;
Η Apple ασκεί πολύ μεγαλύτερο έλεγχο σε ολόκληρο το οικοσύστημα του iOS. Αν θέλετε να χρησιμοποιήσετε το iOS, τότε έχετε μόνο μία επιλογή: το iPhone. Αν θέλετε να δημιουργήσετε εφαρμογές iOS, τότε θα πρέπει να χρησιμοποιήσετε τα εργαλεία της Apple και να το κάνετε με τον τρόπο της Apple.
Απόλυτη πρακτική, αλλά υπάρχουν πάρα πολλά οφέλη.
Επειδή η Apple γνωρίζει τις ακριβείς προδιαγραφές της κάθε συσκευής που θα τρέξει το λειτουργικό της σύστημα, μπορεί να λάβει καλύτερες αποφάσεις. Για παράδειγμα, ενώ το Android πρέπει να υποστηρίζει πολλούς τύπους επεξεργαστών, το iOS τρέχει πάντα σε hardware βασισμένο στο ARM.
Έτσι το iOS δεν χρειάζεται μια εικονική μηχανή για να μετατρέπει bits, on-the-fly όπως το Android. Όλες οι εφαρμογές αναπτύσσονται στον εγγενή κώδικα της Apple και αυτός ο κώδικας εκτελείται σε εγκεκριμένο hardware. Αυτό σημαίνει σημαντικά λιγότερη RAM.
Επιπλέον, το iOS έχει μια εντελώς διαφορετική προσέγγιση στη διαχείριση μνήμης. Ενώ η μνήμη στο Android διαχειρίζεται από το λειτουργικό σύστημα, η μνήμη του iOS διαχειρίζεται από τις ίδιες τις εφαρμογές. Αντί λοιπόν το iOS να επιτρέπει στις εφαρμογές να καταναλώνουν όσο το δυνατόν περισσότερη μνήμη RAM, οι εφαρμογές του iOS παραχωρούν ή ζητάνε μνήμη αυτόματα ανάλογα με τις ανάγκες τους.
Έτσι αν και τα iPhone έχουν λιγότερη μνήμη RAM δεν μπορούμε να πούμε ότι έχουν χειρότερη απόδοση. Το iOS απλά διαθέτει μια διαφορετική προσέγγιση στη διαχείριση μνήμης, επειδή δεν χρειάζεται την εικονική μηχανή του Android.