Το αίνιγμα της RAM: Πόση RAM χρειαζόμαστε πραγματικά;

Καθώς οι συσκευές Android αρχίζουν να κινούνται προς τα 6 GB RAM, πρέπει να αναρωτηθούμε: Πόση RAM χρειαζόμαστε πραγματικά; Ακολουθήστε καθώς εξερευνούμε!

Πρόσφατα, είχαμε ανακοινώσεις για ένα από τα πρώτα smartphone με Android και 6 GB RAM.

6 φρικτά GB! Αυτή είναι πολλή μνήμη RAM σε μια φορητή συσκευή.

Η έναρξη του παιχνιδιού αριθμών είναι η Vivo Xplay5 Elite. Η Vivo ως εταιρεία μπορεί να μην είναι πολύ γνωστή εκτός Κίνας, αλλά η εταιρεία, προς τιμήν της, έχει κατασκευάσει μερικά πραγματικά λεπτά smartphone στο παρελθόν. Με το Xplay5 Elite, προσπάθησαν να χωρέσουν πολλές προδιαγραφές σε μια συσκευή που στοχεύει να σταθεί ανάμεσα στους βασιλιάδες.

Το Vivo Xplay 5 Elite διαθέτει διπλή κυρτή οθόνη 5,43" QHD Super AMOLED σε μεταλλικό πλαίσιο για το σώμα. Στο εσωτερικό, υπάρχει το τελευταίο Qualcomm Snapdragon 820 SoC χρονισμένο στα 2,15 Ghz, Adreno 530 GPU, 6 GB LPDDR4 RAM και 128 GB μη επεκτάσιμη αποθήκευση. Για κάμερα, το πίσω μέρος είναι ένας αισθητήρας Sony IMX298 16MP με f/2.0 και το μπροστινό μέρος είναι ένας αισθητήρας 8MP. Έχοντας υπόψη αυτές τις προδιαγραφές και τη μεταλλική κατασκευή της συσκευής, δεν θα πρέπει να αποτελεί έκπληξη το γεγονός ότι θα κοστίσει αρκετά ακόμη και για τον Κινέζο καταναλωτή. Με τιμή 4.288 CNY (660 $), αυτό είναι σίγουρα μια κινεζική ναυαρχίδα και όχι μια προσιτή mid-ranger.

Το Vivo Xplay5 Elite δεν είναι το μόνο smartphone αυτή τη στιγμή με 6 GB RAM. Ένας λιγότερο γνωστός και νεοσύστατος κινεζικός ΚΑΕ, η Vernee, στοχεύει να προσφέρει μεγαλύτερη προσβασιμότητα από τους καταναλωτές σε τεράστια ποσά μνήμης RAM, λανσάροντας μια συσκευή μεσαίας κατηγορίας, το Vernee Apollo.

Το Vernee Apollo θα φέρει το κορυφαίο SoC της MediaTek, το Helio X20. Θα υπάρχουν τα προαναφερθέντα 6 GB RAM, 128 GB εσωτερικής αποθήκευσης, 21 MP Sony IMX230 πίσω κάμερα και οθόνη 5,5" 2K. Με όλα αυτά, το Apollo θα κόστιζε 399,99 $. Οι πληροφορίες τύπου που μας εστάλησαν δεν αναφέρονταν σε κινεζική τιμή ή αγορές-στόχους, επομένως το τηλέφωνο εξακολουθεί να είναι αρκετά μυστήριο.

Και τα δύο αυτά τηλέφωνα μας παρακαλούν να κάνουμε την ερώτηση, έτσι πραγματικά χρειάζομαι τόση RAM αυτή τη στιγμή;

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

"Ο τρόπος με τον οποίο το Android χειρίζεται τη διαχείριση της μνήμης είναι κάπως έτσι: αντί να σκοτώνει αμέσως κάθε διαδικασία μετά το τέλος της δραστηριότητάς της (όπως όταν πατάτε το κουμπί αρχικής οθόνης για έξοδο από μια εφαρμογή), η διαδικασία διατηρείται στη μνήμη έως ότου το σύστημα χρειαστεί να τη σκοτώσει για να ελευθερώσει περισσότερη μνήμη. Πώς αποφασίζει το σύστημα ποιες διαδικασίες θα κρατήσει και τι θα σκοτώσει; Το πρόγραμμα οδήγησης LMK (Low Memory Killer). Σε κάθε διεργασία εκχωρείται μια τιμή oom_adj που κυμαίνεται από -17 έως 15 από την Υπηρεσία ActivityManager, η οποία προσαρμόζει δυναμικά την τιμή oom_adj ανάλογα με τη σημασία της διαδικασίας. Οι υψηλότερες τιμές oom_adj σημαίνουν ότι η διεργασία είναι πιο πιθανό να σκοτωθεί για να ελευθερωθεί μνήμη, ενώ οι χαμηλότερες τιμές σημαίνουν ότι η διαδικασία είναι λιγότερο πιθανό να τερματιστεί."

"Το Android κατηγοριοποιεί κάθε διαδικασία σε πέντε κατηγορίες (Πρώτο πλάνο, Ορατό, Υπηρεσία, Παρασκήνιο και Κενό) που κυμαίνονται από τις πιο σημαντικές έως τις λιγότερο σημαντικές για να συνεχίσετε να εκτελείτε. Οι διεργασίες που ανήκουν σε κάθε κατηγορία εξουδετερώνονται σε διαφορετικά επίπεδα ελεύθερης μνήμης που απομένει (ονομάζεται τιμή χωρίς ελάχιστη τιμή LMK). Για παράδειγμα, εάν οι τιμές LMK minfree της συσκευής σας έχουν οριστεί σε "2560,4090,6144,7168,8192" (αναφέρονται ως σελίδες 4k, οι οποίες μπορούν να διαβαστούν από το /sys/module/lowmemorykiller/parameters/minfree), τότε η συσκευή σας θα καταργήσει τις διεργασίες που ορίζονται ως "Empty" όταν η ελεύθερη μνήμη σας πέσει κάτω από 32MB, οι διαδικασίες που ορίζονται ως "Background" όταν η ελεύθερη μνήμη είναι κάτω από 28MB και οι εφαρμογές προσκηνίου όταν η ελεύθερη μνήμη πέσει κάτω από 10 MB (ουρανοί απαγορεύουν!) Τώρα, αυτές οι τιμές minfree δεν είναι τυπικές στις περισσότερες συσκευές αυτές τις μέρες, καθώς οι κατασκευαστές αγαπούν να τις προσαρμόζουν σύμφωνα με τις προτιμήσεις τους, ανάλογα με το πώς πιστεύουν ότι ταιριάζει καλύτερα στη συσκευή τους. Αλλά αυτό που πρέπει να αφαιρέσετε από αυτή τη σύντομη εξήγηση είναι ότι όσο περισσότερη ελεύθερη μνήμη έχετε, τόσο λιγότερο πιθανό θα δείτε να σκοτώνονται κρίσιμες διαδικασίες."

Όπως αναφέρει ο Mishaal, οι πραγματικές τιμές διαφέρουν από OEM σε OEM, επομένως θα μπορούσατε να έχετε διαφορετικές εμπειρίες με πολλαπλές εργασίες σε διαφορετικά τηλέφωνα με παρόμοιες προδιαγραφές. Μια άλλη μεταβλητή στο μείγμα είναι η ποσότητα του bloatware στη συσκευή. Τα πολύ τροποποιημένα Android UX, όπως το TouchWiz, τείνουν να έχουν πολλές δυνατότητες πέρα ​​από το Android με βάση το απόθεμα Το AOSP, και ως εκ τούτου, απαιτούν πολύ περισσότερους πόρους να διατεθούν στο σύστημα για να λειτουργήσει στο επίπεδο που ήθελε ο OEM αυτό να. Αυτό αφήνει μικρότερο περιθώριο αποθήκευσης στην κρυφή μνήμη εφαρμογών τρίτων, γεγονός που με τη σειρά του επιδεινώνει την απώλεια μνήμης.

Ως επί το πλείστον Μαλακός

"Η κύρια διαφορά μεταξύ μιας συσκευής με 2 GB RAM έναντι μιας συσκευής με 3 GB RAM είναι ότι η συσκευή με 3 GB της μνήμης RAM θα ​​πρέπει να μπορεί να αποθηκεύει προσωρινά περισσότερες διεργασίες στο παρασκήνιο χωρίς να ενεργοποιεί το πρόγραμμα οδήγησης LMK για να το απενεργοποιήσει."

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

Όπως μπορείτε να δείτε, οι συσκευές με την ελαφρύτερη διεπαφή χρήστη, όπως το Nexus 5 και το Nexus 6, έχουν το μεγαλύτερο ποσοστό δωρεάν μνήμης RAM διαθέσιμη στη συσκευή. Ακόμη και το πιο βαρύ από όλα, το Samsung Galaxy Note 5 με 4 GB RAM και TouchWiz για εκκίνηση, έχει περίπου 1,7 GB μνήμης RAM που είναι διαθέσιμη για προσωρινή αποθήκευση εφαρμογών. Ακόμη και με τόσο μεγάλη δεξαμενή ελεύθερης μνήμης RAM, το Note 5 αντιμετώπιζε προβλήματα πολλαπλών εργασιών όπου η συσκευή θα κατέφευγε σε επιθετικό χειρισμό μνήμης. Αυτό οφείλεται στην επιλογή των τιμών LMK από τον OEM: η άντληση περισσότερης RAM σε επίπεδο υλικού δεν θα βοηθήσει! Η επιδιόρθωση για το Note 5 για τη βελτίωση του multitasking περιλάμβανε στην πραγματικότητα την προσαρμογή αυτών των τιμών LMK ώστε να είναι περισσότερες φιλικό προς την εκτέλεση πολλαπλών εργασιών από τις ρυθμίσεις αποθέματος της Samsung, κάτι που είναι ειρωνικό για μια συσκευή που επικεντρώνεται παραγωγικότητα. Ως εκ τούτου, μόνο με περισσότερη μνήμη RAM δεν θα κάνει αυτόματα τη συσκευή πιο φιλική στις πολλαπλές εργασίες.

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

Ακόμη και στη μικρή περίπτωση ~ 1 δευτερολέπτου που μου χρειάστηκε να ανταλλάξω από ένα ενεργό παιχνίδι και να επιλέξω την επιλογή εμφάνισης αποθηκευμένων διαδικασιών, το σύστημα λειτούργησε για να περιορίσει την πραγματική μνήμη RAM που χρησιμοποιήθηκε. Αυτό συνέβη επειδή το παιχνίδι, το NFS No Limits σε αυτήν την περίπτωση, είχε μια αλλαγή στην προτεραιότητα, μεταβαίνοντας από μια διαδικασία προσκηνίου σε μια διαδικασία παρασκηνίου. Αυτό έγινε με σκοπό τη διατήρηση της ομαλής ροής του λειτουργικού συστήματος ανά πάσα στιγμή, καθώς η μνήμη RAM υπό ενεργή χρήση άλλαξε από 2,5 GB σε 1,9 GB, ενώ η διαδικασία παιχνιδιού NFS No Limits αποθηκευτεί προσωρινά. Καθώς το παιχνίδι μετατοπίστηκε στην προτεραιότητά του, είναι πλέον εφικτό εάν το λειτουργικό σύστημα χρειάζεται πραγματικά περισσότερη ελεύθερη μνήμη RAM. Δεν απαιτείται αλληλεπίδραση με τον χρήστη εδώ.

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

Υπάρχει επίσης ένα ανώτατο όριο κατανομής RAM για τις διαδικασίες εφαρμογών, όπως ορίζεται από τον OEM και πάλι για μεμονωμένα τηλέφωνα. Σύμφωνα με έναν παλιά ανάρτηση συζήτησης από την Dianne Hackborn, Μηχανικό Πλαισίου Android, υπάρχει όριο στο Σωρός Java όπου τα αντικείμενα java θα βρίσκονται πριν ξεκινήσει η συλλογή σκουπιδιών, αλλά ακόμη και αυτό μπορεί να επεκταθεί με έξυπνη χρήση του NDK. Με απλά λόγια, αυτό σημαίνει ότι υπάρχει ένα μέγιστο όριο στη μνήμη RAM που ήταν διαθέσιμο σε κάθε εφαρμογή που ήθελε να εκτελεστεί σε αυτήν τη συσκευή. Για παλαιότερες συσκευές, αυτός ο σωρός ορίστηκε στα 24 MB, αλλά στις πρόσφατες συσκευές, το μέγεθος έχει αυξηθεί χάρη στην αύξηση της μνήμης RAM στις συσκευές καθώς και στις αυξημένες απαιτήσεις υλικού. του Android Έγγραφο ορισμού συμβατότητας Για Android 6.0 αναφέρει (Ενότητα 3.7) τις ελάχιστες τιμές που πρέπει να οριστούν αυτοί οι σωροί από τον OEM. Για σύγκριση, το OnePlus One μου στο CM12.1 μπορεί να υπερηφανεύεται για ένα όριο 192 MB για κανονικούς σωρούς Dalvik VM και επιτρέπει έως και 512 MB για εφαρμογές που καθορίζουν το android: largeHeap=true στο μανιφέστο εφαρμογής τους. Θεωρητικά, μια μεμονωμένη εφαρμογή μπορεί να χρησιμοποιήσει μόνο έως 512 MB μνήμης RAM στη συσκευή μου. Από εκεί και πέρα, θα ξεκινήσει η συλλογή σκουπιδιών για να διατηρηθεί η ελεύθερη ροή των άλλων απαραίτητων διεργασιών του συστήματος.

Τώρα συνδυάστε το όριο μεγέθους σωρού για τις εφαρμογές με τις τιμές LMK που τους έχουν εκχωρηθεί με βάση την προτεραιότητά τους και την Η επιμονή του λειτουργικού συστήματος να διατηρεί μια ορισμένη ποσότητα ελεύθερης μνήμης RAM σε αδράνεια και μπορείτε να φανταστείτε πώς το Android πολλαπλών εργασιών έργα. Είναι ένας πολύπλοκος μηχανισμός που περιλαμβάνει πολλές μεταβλητές μεταξύ του υλικού, του λογισμικού και της ίδιας της εφαρμογής. καλά συντονισμένο ώστε να επιτρέπει τη λειτουργία ακόμη και των πιο βασικών συσκευών, ενώ παράλληλα επιτρέπει στις καλύτερες ναυαρχίδες να εκμεταλλεύονται απόλυτα τις δυνατότητές τους, θεωρητικά. Πρακτικά, αυτός δεν είναι ένας τέλειος κόσμος, επομένως δεν συμβαίνει τίποτα από τα δύο. Αυτό σημαίνει ότι δεν υπάρχει εγγύηση ότι μια συσκευή με 4 GB RAM θα ​​λειτουργεί εξίσου με μια άλλη με 4 GB RAM. Ούτε σημαίνει ότι ένα επιπλέον GB μνήμης RAM πέρα ​​από ένα ορισμένο όριο θα σας δώσει μια ευθέως αναλογική αύξηση στο multitasking και στο χειρισμό της μνήμης.

Το Πρακτικό & Το Μέλλον

Επιστρέφοντας λοιπόν στην αρχική ερώτηση, χρειάζεστε πραγματικά 6 GB RAM στις συσκευές σας στις αρχές του 2016; Για μένα η απάντηση είναι όχι.

Η πλειονότητα των συσκευών που κατέχω έχουν 3 GB LPDDR3 RAM και μία έχει 4 GB RAM. Και απλά δεν υπάρχει αξιοσημείωτη διαφορά στην απόδοση όταν πρόκειται για πολλαπλές εργασίες. Ακολουθεί μια επίδειξη πολλαπλών εργασιών από την πρόσφατη κριτική μου για το OnePlus X, μια συσκευή με 3 GB μνήμης RAM και μια κοντινή στο απόθεμα ROM Android:

Η συσκευή δεν είχε προβλήματα με την εναλλαγή μεταξύ 12 εφαρμογών (13 αν μετρήσετε την ενεργή εγγραφή οθόνης) χωρίς να χρειάζεται να σκοτώσει καμία από αυτές τις εφαρμογές. Δεν έγινε επαναφόρτωση και επανασχεδιασμός και αυτή η εμπειρία παραμένει εκπληκτικά συνεπής σε όλη την καθημερινή χρήση χωρίς επανεκκινήσεις ή μη αυτόματη εξάλειψη εφαρμογών. Ένας κανονικός καταναλωτής απλά δεν χρειάζεται να εναλλάσσεται ενεργά μεταξύ αυτών των πολλών εφαρμογών κατά την πρακτική χρήση!

Τι γίνεται όμως αν ο χρήστης επιθυμεί να κάνει εναλλαγή μεταξύ αυτών των πολλών παιχνιδιών; Συμφωνώ, οι παράγοντες που αναφέρονται παραπάνω θα μπορούσαν να ισχύσουν για να επιτρέψουν την εναλλαγή μεταξύ μερικών μόνο παιχνιδιών στην καλύτερη περίπτωση. Σε μια τέτοια κατάσταση, η ύπαρξη περισσότερης φυσικής RAM θα ​​επέτρεπε στη συσκευή να κρατά περισσότερα παιχνίδια παθητικά στη μνήμη. Αλλά ένα αντίστικτο σε αυτό το πλεονέκτημα είναι ότι πολλά παιχνίδια συχνά επαναφορτώνουν τον εαυτό τους κατά την εκτέλεση πολλαπλών εργασιών! Πρόθεσή τους είναι να αποφύγουν τους μηχανισμούς εξαπάτησης από τον χειρισμό των δεδομένων του παιχνιδιού ενώ το παιχνίδι εκτελείται, επομένως μια επαναφόρτωση/επανασύνταξη/ανανέωση αναγκάζει τους ελέγχους ακεραιότητας να μπουν ξανά στο παιχνίδι. Η πρόθεσή τους είναι διαφορετική, αλλά αυτό καθιστά πολλά παιχνίδια φτωχούς υποψηφίους για πολλαπλές εργασίες μεταξύ τους.

Υπάρχουν ακόμη μερικοί ακόμη παράγοντες, που θα σας εμποδίσουν να επωφεληθείτε από όλη αυτή την ένδοξη μνήμη RAM. Εάν βρείτε μια εργασία/πολλές εργασίες μαζί που απαιτούν και τα 6 GB της μνήμης RAM LPDDR4 της συσκευής σας, θα είχατε πολύ μεγαλύτερο σημείο συμφόρησης με τη μορφή του κινητού SoC. Ομολογουμένως, ο Snapdragon 820 και ο Helio X20 μπορεί να είναι οι κορυφαίοι επεξεργαστές των αντίστοιχων εταιρειών τους, αλλά εξακολουθούν να είναι κινητά SoC. Ως εκ τούτου, έχουν άλλους περιορισμούς όπως η παραγωγή θερμότητας, η απαγωγή θερμότητας, ο θερμικός στραγγαλισμός και η μπαταρία ζωή που θα τους έκανε κακές επιλογές για εργασίες αρκετά εντατικές ώστε να χρησιμοποιούν τόση RAM για παρατεταμένη περίοδο χρόνος. Σε τέτοιες περιπτώσεις, είναι προτιμότερο να χρησιμοποιείτε ένα σύστημα που δεν προορίζεται να το κρατάτε στα χέρια σας. ένα που έχει πιο φιλελεύθερα όρια στη θερμότητα που μπορεί να παράγει και την ισχύ που μπορεί να καταναλώσει.

Στο τέλος της ημέρας, ανεξάρτητα από το πόση ελεύθερη μνήμη RAM έχετε, οι εφαρμογές θα εξακολουθούν να αποκλείονται. Έτσι ακριβώς λειτουργεί η διαχείριση μνήμης. Εξακολουθούν να υπάρχουν πλεονεκτήματα στο να μεγαλώνεις τη μνήμη RAM, όπως η περαιτέρω αύξηση του μεγέθους του σωρού θα βοηθήσει τροφοδοσία στοιχείων bitmap σε οθόνες υψηλότερης ανάλυσης, επιτρέποντάς μας να υπερβούμε τις αναλύσεις QHD στις συσκευές μας. Ένα αυξημένο μέγεθος σωρού ως τάση σε όλη την αγορά θα οδηγήσει σε εφαρμογές που μπορούν να φιλοδοξούν να κάνουν περισσότερα. Εκτός εάν η μνήμη RAM είναι κλειδωμένη ως ανέγγιχτη, θα υπάρχει πάντα κάποια ή η άλλη χρήση για αυτήν. Αλλά λαμβάνοντας υπόψη ότι οι οθόνες φαινομενικά κυμαίνονται μεταξύ 1080p και 1440p στις ναυαρχίδες, μπορεί να δούμε τα 4 GB ως λογικό πρότυπο για ένα ή δύο χρόνια.

Ως συμπέρασμα, φτάνουμε να απαντήσουμε στο ερώτημα: το κάνουμε πραγματικά χρειάζομαι τόση RAM αυτή τη στιγμή; Όχι, δεν το κάνουμε. Για συσκευές που έχουν την τιμή ως έναν από τους παράγοντες που πρέπει να διατηρήσουν χαμηλά, τα 3 GB ή 4 GB μνήμης RAM θα ​​τους εξυπηρετούσαν αρκετά. Για τις ναυαρχίδες με ζήτηση από χρήστες που δεν ενδιαφέρονται τόσο για τις τιμές, δεν θα έβλαπτε τη μελλοντική απόδειξη. Ως πελάτης, απλώς σημειώστε ότι δεν θα χρησιμοποιείτε ακόμη όλη αυτή τη μνήμη RAM.

Ποια είναι η γνώμη σας για τηλέφωνα με 6GB RAM; Πείτε μας τις σκέψεις σας στα σχόλια παρακάτω!