Κλείσιμο διαφήμισης

Η ιδανική ποσότητα μνήμης RAM που χρειάζονται τα τηλέφωνα για την ομαλή εκτέλεση πολλαπλών εργασιών είναι ένα θέμα που συζητείται αρκετά. Η Apple τα καταφέρνει με ένα μικρότερο μέγεθος στα iPhone της, το οποίο είναι συχνά πιο εύχρηστο από τις λύσεις Android. Επίσης, δεν θα βρείτε κανενός είδους διαχείριση μνήμης RAM στο iPhone, ενώ το Android έχει τη δική του αποκλειστική λειτουργία για αυτό. 

Εάν πηγαίνετε, για παράδειγμα, σε τηλέφωνα Samsung Galaxy σε Ρυθμίσεις -> Φροντίδα συσκευής, εδώ θα βρείτε μια ένδειξη RAM με πληροφορίες για το πόσο ελεύθερος χώρος είναι και πόσο καταλαμβάνεται. Αφού κάνετε κλικ στο μενού, μπορείτε να δείτε πόση μνήμη καταλαμβάνει κάθε εφαρμογή και έχετε επίσης την επιλογή να καθαρίσετε τη μνήμη εδώ. Η λειτουργία RAM Plus βρίσκεται επίσης εδώ. Το νόημά του είναι ότι θα δαγκώσει έναν ορισμένο αριθμό GB από τον εσωτερικό χώρο αποθήκευσης, τον οποίο θα χρησιμοποιήσει για εικονική μνήμη. Μπορείτε να φανταστείτε κάτι τέτοιο στο iOS;

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

Swift vs. Ιάβα 

Αλλά όταν ξεκινάτε μια νέα εφαρμογή, πρέπει να έχετε ελεύθερο χώρο στη μνήμη για να τη φορτώσετε και να την εκτελέσετε. Εάν δεν συμβαίνει αυτό, η θέση πρέπει να εκκενωθεί. Επομένως, το σύστημα θα τερματίσει αναγκαστικά ορισμένες διεργασίες που εκτελούνται, όπως εφαρμογές που έχουν ήδη ξεκινήσει. Ωστόσο, και τα δύο συστήματα, δηλαδή το Android και το iOS, λειτουργούν διαφορετικά με τη μνήμη RAM.

Το λειτουργικό σύστημα iOS είναι γραμμένο σε Swift και τα iPhone στην πραγματικότητα δεν χρειάζεται να ανακυκλώνουν τη χρησιμοποιημένη μνήμη από κλειστές εφαρμογές πίσω στο σύστημα. Αυτό οφείλεται στον τρόπο κατασκευής του iOS, επειδή η Apple έχει τον πλήρη έλεγχο πάνω σε αυτό, αφού τρέχει μόνο στα iPhone της. Αντίθετα, το Android είναι γραμμένο σε Java και χρησιμοποιείται σε πολλές συσκευές, επομένως πρέπει να είναι πιο καθολικό. Όταν η εφαρμογή τερματιστεί, ο χώρος που πήρε επιστρέφεται στο λειτουργικό σύστημα.

Εγγενής κώδικας vs. JVM 

Όταν ένας προγραμματιστής γράφει μια εφαρμογή iOS, τη μεταγλωττίζει απευθείας σε κώδικα που μπορεί να εκτελεστεί στον επεξεργαστή του iPhone. Αυτός ο κώδικας ονομάζεται εγγενής κώδικας επειδή δεν απαιτεί ερμηνεία ή εικονικό περιβάλλον για να εκτελεστεί. Το Android, από την άλλη, είναι διαφορετικό. Όταν ο κώδικας Java μεταγλωττίζεται, μετατρέπεται σε ενδιάμεσο κώδικα Java Bytecode, ο οποίος είναι ανεξάρτητος από τον επεξεργαστή. Επομένως, μπορεί να τρέξει σε διαφορετικούς επεξεργαστές διαφορετικών κατασκευαστών. Αυτό έχει τεράστια πλεονεκτήματα για τη συμβατότητα μεταξύ πλατφορμών. 

Φυσικά, υπάρχει και ένα μειονέκτημα. Κάθε συνδυασμός λειτουργικού συστήματος και επεξεργαστή χρειάζεται ένα περιβάλλον γνωστό ως Java Virtual Machine (JVM). Αλλά ο εγγενής κώδικας αποδίδει καλύτερα από τον κώδικα που εκτελείται μέσω του JVM, επομένως η χρήση του JVM απλώς αυξάνει την ποσότητα της μνήμης RAM που χρησιμοποιείται από την εφαρμογή. Έτσι, οι εφαρμογές iOS χρησιμοποιούν λιγότερη μνήμη, κατά μέσο όρο 40%. Αυτός είναι επίσης ο λόγος που η Apple δεν χρειάζεται να εξοπλίζει τα iPhone της με τόση μνήμη RAM όση με τις συσκευές Android. 

.