iOS Multitasking: Οι αλήθειες & οι μύθοι


By
Posted on Saturday July 18th, 2015 / 12:10

iOS_9-vs-iOS_8-Multitasking

Ο user vrachamis του iPhoneHellas forum μας ενημερώνει σχετικά με όλα όσα θα πρέπει να γνωρίζουμε για το Multitasking του iOS, σε ένα υπερ-αναλυτικό άρθρο:

Ένα από τα χαρακτηριστικά του iOS που αναδεικνύουν την μοναδικότητα του, είναι ο τρόπος με τον οποίο κατανέμει τους πόρους του, στο σύνολο των εργασιών που επιλέγει να πραγματοποιεί ο χρήστης στην συσκευή του.

Οι  πολυ-εργασίες στο iOS είναι ένα πολύ έξυπνα δομημένο και πλήρως αυτοματοποιημένο χαρακτηριστικό που αφοσιώνεται αποκλειστικά στην παρακάτω επιδίωξη:

Να μπορεί ο χρήστης να εναλλάσσεται εργονομικά μεταξύ των εκκρεμών εργασιών του (εφαρμογές), με τον ταχύτερο δυνατό τρόπο, αντλώντας όσο γίνεται λιγότερους πόρους και λιγότερη ενέργεια από την συσκευή.

Παρόλο που όλοι μας εκμεταλλευόμαστε καθημερινά το multitasking, πολλοί από εμάς, ακόμα και μερίδα των πιο έμπειρων, δεν έχουμε κατανοήσει πλήρως το τρόπο που λειτουργεί. Το αποτέλεσμα είναι να δημιουργείται σύγχυση και διάσταση απόψεων, που όσο συντηρούνται οδηγούν σε μύθους:

«Η παραμονή των εφαρμογών στο switcher, απασχολούν τον επεξεργαστή μου, γεμίζουν την μνήμη μου, αποστραγγίζουν την μπαταρία μου και κάνουν την συσκευή μου πιο αργή. Πρέπει το συντομότερο να τις σκοτώσω.»

Για να συμφωνήσουμε λοιπόν & να καταλήξουμε σε ασφαλή συμπεράσματα, πρέπει πρώτα να περιγράψουμε μέσα από ποιες καταστάσεις μπορεί να περάσει μια εφαρμογή, από την στιγμή που την εκκινήσουμε, μέχρι την στιγμή που θα την εγκαταλείψουμε.

Μια εφαρμογή στο περιβάλλον του iOS μπορεί να βρεθεί στις παρακάτω διαφορετικές καταστάσεις (modes):

Ενεργή στο προσκήνιο (Active in Foreground)
Είναι η φυσιολογική κατάσταση μιας εφαρμογής όταν την χρησιμοποιούμε. Αντλεί στο μέγιστο επεξεργαστική ισχύ, μνήμη και ενέργεια για να επιτελέσει τις λειτουργίες της.

Ενεργή στο υπόβαθρο (Active in Background)
Μετά το πάτημα του Home Button, η εφαρμογή βρίσκεται στο Switcher και εξακολουθεί να αντλεί επεξεργαστική ισχύ, μνήμη και ενέργεια.

Αδρανοποιημένη (Suspended)
Η εφαρμογή εξακολουθεί να βρίσκεται στο switcher, καταλαμβάνει μνήμη, δεν έχει ωστόσο καμία απαίτηση σε επεξεργαστική ισχύ ή ενέργεια.

Ανενεργή – Τερματισμένη (Inactive-Terminated)
Σ΄αυτή την κατάσταση η εφαρμογή δεν έχει καμία απαίτηση από τους πόρους του συστήματος. Ή δεν εκκινήθηκε ποτέ ή τερματίστηκε. (Mπορεί να βρίσκεται ακόμα και στο switcher)

Ποια είναι η τύχη των εφαρμογών μετά το πάτημα του Home Button;

Η πλειονότητα των εφαρμογών λίγα δευτερόλεπτα μετά το πάτημα του Home Button, θα αδρανοποιηθεί. Το iOS υπολογίζοντας την πιθανότητα να επαναφέρετε κάποια στιγμή την εφαρμογή σας στο προσκήνιο, κρατά φορτωμένα τα δεδομένα της στην μνήμη, έτσι ώστε:

  • Να ελαχιστοποιηθεί δραστικά ο χρόνος επαναφοράς της
  • Να μπορείτε να συνεχίσετε την εργασία σας ακριβώς εκεί που την αφήσατε
  • Να απαιτηθεί λιγότερη επεξεργαστική ισχύς & ενέργεια από το σύστημα

Υπάρχει μια 2η περίπτωση όπου μια εφαρμογή,  παράλληλα  με την «είσοδο της» στο switcher , εκτελεί μια εργασία. Όπως για παράδειγμα downloading/uploading ή φορτώνει τα δεδομένα ενός αρχείου.

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

Η συνέχεια του άρθρου, εδώ.

About Vasilis Ananiadis

Ο ζωντανός θρύλος της Ελληνικής blogόσφαιρας, ο αβυσσαλέος master του SEO, o πρίγκηπας των Social Media, ο τυφώνας των Web Startups, ο οργασμός της ιντερνετικής επιτυχίας. Τώρα και στο twitter: @vananiadis




Comments are closed.