Κάθε φορά που το software στις συσκευές μας δέχεται μια μεγάλη αναβάθμιση, ακούμε συνέχεια για καλύτερες επιδόσεις με μεγαλύτερη διάρκεια μπαταρίας. Παρότι συνήθως είναι αλήθεια, οι ιδέες και το πως έχουν γίνει αυτές οι αλλαγές χρειάζονται πολύ δουλειά. Στο Android Nougat, τη νέα έκδοση του Android, έρχονται βελτιώσεις σε ήδη υπάρχοντα χαρακτηριστικά, ώστε να φτάσουν τις πλήρεις δυνατότητές τους. Οι βελτιώσεις εντοπίζονται στα Project Doze και Project Svelte.
Ο στόχος απλός. Να βρούμε τρόπους να κάνουμε τις συσκευές μας πιο φιλικές με τη μπαταρία όταν δεν τις χρησιμοποιούμε και με καλύτερη διαχείρηση των παρασκηνιακών λειτουργιών. Πάμε να δούμε πως μπορεί να επιτευχθεί αυτό στο Android Nougat.
Project Svelte
Το Project Svelte εμφανίστηκε για πρώτη φορά το 2013, με την έκδοση Android 4.4 KitKat, σαν ένας τρόπος να συμπεριφέρεται καλύτερα το OS σε συσκευές με low-end χαρακτηριστικά. Οι εντυπώσεις που μας άφησε ήταν μέτριες, καθώς μπορεί να πέτυχε εν μέρει το σκοπό του, αλλά περιμέναμε περισσότερες αλλαγές. Ο αρχικός στόχος ήταν να δημιουργηθεί ένα smartphone με φθηνό hardware, που θα μπορεί να «τρέχει» άνετα την τελευταία έκδοση του Android.
Με το Android 7.0, το project συνεχίζει την εξέλιξή του, έχοντας ένα νέο, πιο εξελιγμένο σύστημα για τη διαχείρηση των παρασκηνιακών λειτουργιών.
Το Android είναι πολύ διαφορετικό από το iOS. Ο κάθε developer μπορεί να πληρώσει ένα πολύ μικρό ποσό και να δημοσιεύσει την εφαρμογή του στο Google Play, μαζί με μεγάλα ονόματα όπως Facebook ή Samsung. Δεδομένου ότι η εφαρμογή δεν περιέχει κάποιον ύποπτο κώδικα, θα δημοσιευθεί και θα μπορεί να την εγκαταστήσει ο καθένας και εκτός αν κάποιος την αναφέρει για το περιεχόμενη ή τις κινήσεις της, παραμένει στο Play Store. Η Google μπορεί να υποστηρίζει ότι κάνει αυτόματο έλεγχο στις εφαρμογές πριν «ανέβουν» στο Play Store, αλλά κάτι τέτοιο απέχει πολύ από το χειροκίνητο έλεγχο και σημαίνει ότι οι εφαρμογές δεν απορρίπτονται αν δεν ακολουθούν σωστές πρακτικές εξέλιξης. Η συμπεριφορά μερικών APIs δε βοηθάει και ακόμα και οι καλύτερες εφαρμογές μπορεί να «ξυπνήσουν» και να χρησιμοποιήσουν πόρους πολύ συχνά για μια αχρίαστη διαδικασία.
Οι βελτιώσεις στο Svelte διορθώνουν δύο σημαντικά θέματα:
- Οι εφαρμογές ελέγχουν αν το δίκτυο αλλάζει, χρησιμοποιώντας το λεγόμενο broadcast receiver. Όταν μια αλλαγή συμβεί, κάθε εφαρμογή που επηρρεάζεται από αυτή την αλλαγή, «ξυπνάει» μια φορά και προσπαθεί να επεξεργαστεί τα δεδομένα της αλλαγής. Σκεφτείτε πως λειτουργεί η συσκευή σας στην πρώτη εκκίνηση, που προσπαθεί να πραγματοποιήσει όλες τις λειτουργίες με την πρώτη και θα καταλάβετε γιατί χρειάζεται βελτίωση ο συγκεκριμένος τομέας. Από το Android 7.0 και μετά, οι εφαρμογές θα καταλαβαίνουν αλλαγές στο δίκτυο μόνο όταν είναι ενεργές και χρησιμοποιούν μέορς της CPU, ώστε να μην «ξυπνάνε» κάθε φορά. Αυτό θα φέρει μείωση της χρήσης RAM και της CPU, που σημαίνει ότι οι συσκευές μας θα συμπεριφέρονται καλύτερη και με λιγότερη κατανάλωση μπαταρίας.
- Στις προηγούμενες εκδόσεις του Android, οι εφαρμογές είχαν τη δυνατότητα να «ακούν» ένα παρόμοιο broadcast receiver για να «τραβηχτεί» μια φωτογραφία ή ένα video. Όταν συνέβαινε αυτό, κάθε εφαρμογή που «άκουγε» το ίδιο receiver «ξύπναγε» και προσπαθούσε να επεξεγαστεί δεδομένα. Στο Android 7.0, οι νέες φωτογραφίες και τα νέα video δε θα στέλνονται. Αυτό σημαίνει ότι αν οι developers δεν αναβαθμίζουν τις υπάρχουσες εφαρμογές, αυτές δεν θα «ξυπνούν».
Για να κάνουν οι εφαρμογές ό,τι τους ζητάμε, πρέπει να μένουν ενεργές. Μειώνοντας αυτά που πρέπει να κάνουν όταν είναι ανένεργες και περιμένουν, σημαίνει ότι έχουμε λιγότερες εφαρμογές να «τρέχουν».
Project Doze
Αυτή τη στιγμή, όσοι έχετε Android Marshmallow, είτε αγαπάτε το Doze είτε δε βλέπετε να κάνει τίποτα στη συσκευή σας. Και αυτό γιατί έτσι είναι η φύση του.
Όταν εμφανίστηκε για πρώτη φορά στο Android 6.0, σκόπευε να μειώνει τη λειτουργία της CPU και του δικτύου όταν η οθόνη της συσκευής ήταν κλειστή ή η συσκευή δε φόρτιζε ή ήταν ακίνητη. Αν κάτι από τα παραπάνω δε συμβαίνει, το Doze δεν ξεκινάει και οι εφαρμογές «τρέχουν» κανονικά. Όλα αυτά είναι καλά αν η συσκευή βρίσκεται στο γραφείο ή στη δουλειά, αλλά μόλις μπει στην τσέπη σας, το Doze σταματάει να λειτουργεί.
Η αλλαγή της συμπεριφοράς στο Android Nougat είναι απλή. Το Doze πλέον έχει δύο στάδια: το πρώτο όταν είναι σβηστή η οθόνη και η συσκευή δε φορτίζει και το δεύτερο όταν η συσκευή είναι και ακίνητη μαζί με τα παραπάνω.
Όταν η συσκευή δε φορτίζει και η οθόνη είναι σβηστή για ένα συγκεκριμένο διάστημα, οι εφαρμογές σταματούν να έχουν πρόσβαση στο δίκτυο και ενέργειες όπως ο συγχρονισμός και άλλες λειτουργίες αλλάζουν για ένα προκαθορισμένο διάστημα. Έπειτα, ένα μικρό «παράθυρο» τους επιτρέπει να λειτουργήσουν κανονικά και πάλι. Αυτό συμβαίνει όταν η συσκευή μας βρίσκεται σε κίνηση.
Όταν η συσκευή είναι και ακίνητη για συγκεκριμένο χρονικό διάστημα, όλοι οι περιορισμοί του Doze ενεργοποιούνται. Το «παράθυρο» που είπαμε παραπάνω λειτουργεί κανονικά ακόμη, αλλά μεταξύ αυτών των «παραθύρων» η συσκευή πρακτικά είναι… με το ζόρι ζωντανή, μέχρι να την πιάσετε στα χέρια σας.
Ξέρουμε πόσο καλά λειτουργεί το Doze όταν η συσκευή είναι ακίνητη. Τώρα, θα δούμε και τα πλεονεκτήματά του όταν κινούμαστε.
[via]