Πόση μνήμη υπερβαίνει μια εφαρμογή iOS πριν λάβει μια προειδοποίηση μνήμης συστήματος;
Σε εφαρμογές iOS, η ενεργοποίηση προειδοποιήσεων μνήμης συστήματος καθορίζεται δυναμικά από το λειτουργικό σύστημα iOS και δεν αποτελεί σταθερό όριο. Το σύστημα καθορίζει εάν θα εκδώσει μια προειδοποίηση μνήμης με βάση τη διαθέσιμη μνήμη της τρέχουσας συσκευής, τις απαιτήσεις μνήμης άλλων εφαρμογών που εκτελούνται και τη χρήση μνήμης της τρέχουσας εφαρμογής.
Ενεργοποιήσεις προειδοποίησης μνήμης
Διαμόρφωση μνήμης συσκευής: Διαφορετικές συσκευές έχουν διαφορετική ποσότητα μνήμης, για παράδειγμα, οι παλαιότερες συσκευές μπορεί να έχουν μόνο 1 GB μνήμης, ενώ οι νεότερες συσκευές μπορεί να έχουν 4 GB ή περισσότερο.
Πίεση μνήμης συστήματος: Εάν το σύστημά σας βρίσκεται υπό υψηλή πίεση μνήμης, ενδέχεται να εκδίδονται προειδοποιήσεις μνήμης πιο συχνά.
Χρήση μνήμης εφαρμογής: Εάν μια εφαρμογή καταλαμβάνει πολλή μνήμη, το σύστημα θα είναι πιο πιθανό να εκδώσει μια προειδοποίηση μνήμης, έτσι ώστε η εφαρμογή να μπορεί να ελευθερώσει περιττή μνήμη.
Επίπεδο προειδοποίησης μνήμης
Το iOS παρέχει τρία επίπεδα προειδοποίησης μνήμης, μπορούν οι προγραμματιστές UIApplicationDelegate πραγματοποιηθεί μέσωapplicationDidReceiveMemoryWarning Μέθοδος χειρισμού προειδοποιήσεων μνήμης.
Αν και το iOS δεν αποκαλύπτει τη συγκεκριμένη τιμή ενεργοποίησης προειδοποίησης μνήμης, μπορεί να εκτιμηθεί παρατηρώντας τη χρήση μνήμης διαφορετικών συσκευών:
Συσκευές χαμηλού επιπέδου (όπως iPhone 6 και 6s): Συνήθως όταν η χρήση της μνήμης πλησιάζει τα 500 MB, μπορεί να ενεργοποιηθεί μια προειδοποίηση μνήμης.
Συσκευές μεσαίας κατηγορίας (όπως iPhone 7 και 8): Μπορεί να ενεργοποιηθεί μια προειδοποίηση μνήμης όταν η χρήση της μνήμης πλησιάσει το 1 GB.
Συσκευές προηγμένης τεχνολογίας (όπως το iPhone X και νεότερες): Μια προειδοποίηση μνήμης μπορεί να ενεργοποιηθεί όταν η χρήση της μνήμης υπερβαίνει το 1,5 GB.
Πώς να αντιμετωπίσετε τις προειδοποιήσεις μνήμης
Απελευθερώστε περιττούς πόρους: Όταν λαμβάνετε μια προειδοποίηση μνήμης, αφήστε τη μνήμη που δεν χρειάζεται πλέον, όπως εικόνες προσωρινής αποθήκευσης, προσωρινά δεδομένα κ.λπ.
Καθυστερημένη φόρτωση και νωχελική φόρτωση: Καθυστέρηση και καθυστερημένη φόρτωση πόρων όσο το δυνατόν περισσότερο για μείωση της αρχικής χρήσης μνήμης.
Βελτιστοποιήστε δομές δεδομένων και αλγόριθμους: Επιλέξτε κατάλληλες δομές δεδομένων και αλγόριθμους βελτιστοποίησης για να μειώσετε τη χρήση της μνήμης.
Χρήση του εργαλείου Instruments: Χρησιμοποιείτε τακτικά το εργαλείο Instruments για να εντοπίζετε και να αναλύετε τη χρήση της μνήμης για τον εντοπισμό και την επίλυση διαρροών μνήμης και υπερβολικής χρήσης μνήμης.
Με τον σωστό χειρισμό των προειδοποιήσεων μνήμης και τη βελτιστοποίηση της χρήσης της μνήμης, η απόδοση και η σταθερότητα της εφαρμογής μπορούν να βελτιωθούν σημαντικά και να μειωθούν τα σφάλματα και τα παγώματα που προκαλούνται από ανεπαρκή μνήμη.
Πόση μνήμη είναι λογική για εφαρμογές iOS;
Η λογική χρήση μνήμης μιας εφαρμογής iOS εξαρτάται από πολλούς παράγοντες, όπως η διαμόρφωση υλικού της συσκευής, η λειτουργική πολυπλοκότητα της εφαρμογής και το περιβάλλον λειτουργίας.
1. Διαμόρφωση υλικού εξοπλισμού
συσκευές χαμηλού επιπέδου : Οι συσκευές με λιγότερη μνήμη (1 GB ή λιγότερο) είναι ευαίσθητες στη χρήση της μνήμης. Ιδιαίτερη προσοχή πρέπει να δοθεί στη βελτιστοποίηση της μνήμης.
συσκευή μεσαίας κατηγορίας: Για συσκευές με μεσαία μνήμη (2 GB έως 3 GB), οι εφαρμογές μπορούν να αυξήσουν κατάλληλα τη χρήση της μνήμης, αλλά πρέπει να ελέγχεται σε εύλογο εύρος.
Εξοπλισμός υψηλών προδιαγραφών: Για συσκευές με μεγαλύτερη μνήμη (4 GB και άνω), οι εφαρμογές μπορούν να χρησιμοποιούν περισσότερη μνήμη, αλλά η υπερβολική χρήση μνήμης μπορεί να εξακολουθεί να επηρεάζει την απόδοση του συστήματος.
2. Τύποι και λειτουργίες εφαρμογών
Απλή εφαρμογή: Για παράδειγμα, εφαρμογές εργαλείων, προγράμματα ανάγνωσης ειδήσεων κ.λπ., συνήθως προσπαθούν να διατηρήσουν τη χρήση μνήμης κάτω από 100 MB.
Εφαρμογές μεσαίας πολυπλοκότητας: Όπως εφαρμογές μέσων κοινωνικής δικτύωσης, ελαφριά παιχνίδια κ.λπ., η χρήση της μνήμης πρέπει να ελέγχεται μεταξύ 200 MB και 500 MB.
Πολύπλοκες εφαρμογές: Όπως παιχνίδια μεγάλης κλίμακας, εφαρμογές έντασης γραφικών κ.λπ., η χρήση μνήμης μπορεί να φτάσει τα 500 MB ή μεγαλύτερη, αλλά θα πρέπει να προσπαθήσετε να αποφύγετε την υπέρβαση του 1 GB.
3. Παρακολούθηση χρήσης μνήμης
Χρησιμοποιήστε το εργαλείο Xcode's Instruments για να παρακολουθείτε τη χρήση της μνήμης της εφαρμογής σας, συμπεριλαμβανομένων των προτύπων Κατανομών και Διαρροών. Βεβαιωθείτε ότι η χρήση της μνήμης της εφαρμογής είναι σταθερή υπό κανονική χρήση και ότι δεν υπάρχουν εμφανείς διαρροές μνήμης.
Η μόνιμη μνήμη είναι η φυσική μνήμη που πραγματικά καταλαμβάνει η εφαρμογή, η οποία μπορεί να παρακολουθηθεί μέσω του προτύπου Κατανομές των Οργάνων.
4.2 Εικονική μνήμη
Η εικονική μνήμη είναι η συνολική μνήμη στην οποία μπορεί να έχει πρόσβαση μια εφαρμογή, συμπεριλαμβανομένης της περιοχής εναλλαγής μνήμης. Η χρήση εικονικής μνήμης είναι συνήθως υψηλότερη από την μόνιμη μνήμη.
περίληψη
Το κατάλληλο αποτύπωμα μνήμης εξαρτάται από τον συγκεκριμένο τύπο εφαρμογής, τη λειτουργική πολυπλοκότητα και τη συσκευή-στόχο. Σε γενικές γραμμές, θα πρέπει να προσπαθήσετε να διατηρήσετε τη χρήση της μνήμης σε εύλογο εύρος και να αποφύγετε την υπέρβαση του ορίου της διαθέσιμης μνήμης της συσκευής. Μέσω πρακτικών βελτιστοποίησης μνήμης, χρησιμοποιώντας κατάλληλες δομές δεδομένων, βελτιστοποιώντας την επεξεργασία εικόνας και την απόδοση κώδικα, μπορείτε να μειώσετε αποτελεσματικά τη χρήση της μνήμης και να βελτιώσετε την απόδοση και τη σταθερότητα της εφαρμογής. Χρησιμοποιείτε τακτικά το εργαλείο Instruments για να παρακολουθείτε και να αναλύετε τη χρήση της μνήμης για να διασφαλίζετε ότι η χρήση της μνήμης της εφαρμογής είναι λογική σε διάφορα σενάρια.