Android κεντρικό

Είναι όλα τα Android δημιουργημένα ίσα; Το λογισμικό κάνει μεγάλη διαφορά

protection click fraud

Μιλήσαμε για το πώς το υλικό μέσα στο τηλέφωνό σας μπορεί να κάνει τη διαφορά όσον αφορά την εμπειρία χρήστη. Τώρα ήρθε η ώρα να μιλήσουμε για το λογισμικό.

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

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

Τι είναι το Android

Αυτό είναι Android
Πίστωση εικόνας: Android Open Source Project.

Το έχουμε αναφέρει στο παρελθόν, αλλά αξίζει να το καλύψουμε ξανά — το Android μάλλον δεν είναι αυτό που νομίζετε. Η λέξη χρησιμοποιείται με πολλούς διαφορετικούς τρόπους - το Android είναι μια μάρκα, το Android είναι ένα λειτουργικό σύστημα και Το Android είναι ο πηγαίος κώδικας. Αυτό που είναι το Android, σε βασικό επίπεδο, είναι μια δέσμη κώδικα που μπορεί να χρησιμοποιηθεί για την εκτέλεση εφαρμογών. Έρχεται με μια βασική διεπαφή χρήστη για τα βασικά χαρακτηριστικά του, αλλά απαιτεί πολύ χρόνο και ανάπτυξη για να λειτουργήσει σε οποιαδήποτε συσκευή προορίζεται να λειτουργήσει.

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

Ωστόσο, για να μπορέσετε να αποστείλετε οτιδήποτε, θα πρέπει να το τροποποιήσετε και να το περιστρέψετε πολύ — αυτό εννοούμε όταν λέμε βελτιστοποίηση.

Το λειτουργικό σύστημα

AT&T Galaxy S7

Υπάρχουν δύο επίπεδα λογισμικού — το λειτουργικό σύστημα και τα σχετικά πρόσθετα και εφαρμογές που είναι εγκατεστημένα για να εκτελούνται σε αυτό. Τα άτομα που κατασκεύασαν το τηλέφωνό σας όχι μόνο πρέπει να ανησυχούν για την καλή απόδοση του λειτουργικού συστήματος, αλλά πρέπει να διατηρήσουν τη συμβατότητά τους με περίπου ένα εκατομμύριο εφαρμογές. Σημειώστε ότι είπαμε "διατήρηση συμβατότητας", δεν βελτιστοποιήστε τίποτα για εφαρμογές τρίτων. Αυτό είναι ένα εντελώς διαφορετικό θέμα και η Google κάνει το μεγαλύτερο μέρος της δουλειάς εκεί με το πλαίσιο εφαρμογών Android – το μόνο που χρειάζεται να κάνει ο κατασκευαστής του τηλεφώνου είναι να προσπαθήσει να μην σπάσει τίποτα από αυτά. Και αυτό είναι περισσότερη δουλειά από ό, τι νομίζετε, λόγω του τρόπου με τον οποίο αυτές οι εταιρείες αλλάζουν την εμφάνιση και την αίσθηση του Android.

Κάθε μοντέλο Android εκτελεί διαφορετικό λογισμικό.

Δεν υπάρχουν δύο μοντέλα Android που να είναι ίδια. Ακόμη και τηλέφωνα από τον ίδιο κατασκευαστή με το ίδιο όνομα μπορούν να εκτελούν διαφορετικό λογισμικό σε διαφορετικές περιοχές (ή για διαφορετικούς πελάτες — την εταιρεία τηλεφωνίας σας), και το κάνουν. Και αυτό είναι λογικό. Δεν έχουμε gigabytes αποθηκευτικού χώρου, γι' αυτό υποστηρίξτε κάθε διαφορετικό μοντέλο του Samsung Galaxy S7 — υπάρχουν περισσότερες από 30 εκδόσεις αυτού του τηλεφώνου — η ενσωματωμένη σε ένα κομμάτι λογισμικού δεν είναι πρακτικό. Αυτός είναι ο λόγος για τον οποίο, για παράδειγμα, δεν μπορείτε να κάνετε λήψη της ενημέρωσης της Verizon για το S7 και να τη χρησιμοποιήσετε στο μοντέλο AT&T. Αλλά εκτός από τις μικρές αλλαγές που έγιναν για διαφορετικές SKU του ίδιου μοντέλου, το βασικό λογισμικό που χρησιμοποιείται σε κάθε Galaxy S7 (με την CPU Qualcomm) είναι το ίδιο.

Για να διατηρήσετε το παράδειγμά μας στο Galaxy S7, πρέπει να θυμάστε επίσης ότι το "Touchwiz" δεν είναι skin ή εκτοξευτής. Το είναι το λειτουργικό σύστημα. Η Samsung παίρνει αυτό το βασικό λογισμικό που παρέχεται από την Google και το αλλάζει για να ταιριάζει καλύτερα στις ανάγκες της. Η εμφάνιση, οι δυνατότητες που διαθέτει και οι επιλογές και οι ρυθμίσεις είναι όλα κατασκευασμένα από τη Samsung και προστίθενται στο Android με τρόπο που θα εξακολουθεί να επιτρέπει σε εφαρμογές τρίτων να εγκαθίστανται και να εκτελούνται. Υπάρχουν πολλά μέρη του κώδικα Android που η Samsung δεν αλλάζει (ή δεν μπορεί να αλλάξει), επειδή η Google απαιτεί τη διατήρηση ορισμένων στοιχείων για να χρησιμοποιήσει το κατάστημα και τις εφαρμογές της. Εναπόκειται στην Google να βελτιώσει και να διατηρήσει αυτά τα τμήματα, αλλά ένα μεγάλο μέρος του λειτουργικού συστήματος αφήνεται στη Samsung να βελτιστοποιήσει για το συγκεκριμένο υλικό στο οποίο πρόκειται να εγκατασταθεί.

Τι είναι η βελτιστοποίηση;

πηγαίος κώδικας

Η βελτιστοποίηση λογισμικού είναι αναγκαίο κακό. Είναι χρονοβόρο και δύσκολο. Αλλά χωρίς αυτό, η εμπειρία χρήστη θα υποφέρει. Η Google βελτιστοποιεί συνεχώς τον κώδικα Android σε επίπεδο ανεξάρτητο από το υλικό. Τεχνικές όπως το ξετύλιγμα βρόχου, η χρήση λιγότερων κλήσεων λειτουργιών και πιο αποδοτικές ρουτίνες μνήμης είναι πράγματα που ωφελούν κάθε συσκευή που τρέχει Android. Αλλά η Samsung (στο παράδειγμά μας) πρέπει να τα προωθήσει για το υλικό που χρησιμοποιεί για να μειώσει το συνολικό μήκος της διαδρομής εντολών (τον αριθμό των απαιτούμενων κύκλων CPU μειώνεται με λιγότερες οδηγίες) και να μειώσει το αποτύπωμα της μνήμης, καθώς και να βασιστεί σε πράγματα όπως ο προγραμματισμός και η βελτιστοποίηση της προσωρινής μνήμης για το συγκεκριμένο μοντέλο τους ΕΠΕΞΕΡΓΑΣΤΗΣ. Όλα αυτά προσθέτοντας περισσότερες δυνατότητες και λειτουργίες στον χρήστη και διατηρώντας τη συμβατότητα με το Google Play. Γενικά, η διαδικασία πάει κάπως έτσι:

  • Αποφασίστε ποια χαρακτηριστικά θέλουν οι πελάτες σας. Στη συνέχεια, πετάξτε το 80% από αυτά και αποφασίστε ποια χαρακτηριστικά είναι εφικτά.
  • Καθορίστε το συγκεκριμένο υλικό που θα χρησιμοποιηθεί.
  • Δημιουργήστε μια εκκινήσιμη έκδοση του λειτουργικού συστήματος με όλες τις απαιτούμενες λειτουργίες.
  • Βρείτε τα σημεία συμφόρησης, προσπαθήστε να τα διορθώσετε, ξεπλύνετε και επαναλάβετε.

Η εύρεση αυτών των σημείων συμφόρησης είναι δύσκολη. Η διόρθωσή τους είναι ακόμα πιο δύσκολη. Και υπάρχουν διάφοροι τρόποι για να τα αντιμετωπίσετε όλα. Ένας τρόπος είναι να μην προσθέσετε δυνατότητες στο λειτουργικό σύστημα που δημιουργούν γενικά έξοδα, γεγονός που σας δίνει λιγότερα πράγματα που μπορεί να πάνε στραβά. Εκεί έλαμψε το Moto G του 2015. Ήταν ένα πολύ βασικό τηλέφωνο, με πολύ βασικό λογισμικό. Αφού μια ταλαντούχα ομάδα βελτιστοποίησε το λογισμικό που αποστέλλεται στο τηλέφωνο, ήταν μια από τις πιο ρευστές εμπειρίες Android της χρονιάς — μέχρι που προσθέσατε μερικές εφαρμογές από το Google Play στη μίξη. Τότε ήταν προφανές ότι το υλικό μέσα δεν ήταν τόσο ικανό να κάνει πολλά πράγματα ταυτόχρονα όσο τα πιο ακριβά τηλέφωνα. Το υλικό που χρησιμοποιήθηκε ήταν φθηνό, έτσι ώστε το τηλέφωνο να μπορεί να είναι φθηνό και η βελτιστοποίηση λογισμικού μόνο στο λειτουργικό σύστημα ήταν εξαιρετική.

Ένας δεύτερος τρόπος είναι να συνεχίσετε να βελτιστοποιείτε την πλατφόρμα σας, χωρίς να αφαιρείτε σημαντικά χαρακτηριστικά και να αφήνετε το καλύτερο υλικό να βοηθά στην ελαχιστοποίηση του αντίκτυπου. Το Galaxy S7 είναι προϊόν κάθε λίγης δουλειάς που έχει κάνει η ομάδα ανάπτυξης λογισμικού στη Samsung από τότε Παρουσιάστηκε το αρχικό Galaxy S, το οποίο λειτουργεί πάνω από το υλικό αρκετά ισχυρό για να το προσφέρει ομαλά και φιλικά πακέτο. Το αποτέλεσμα είναι ένα τηλέφωνο που επαινείται παγκοσμίως τόσο από τη βιομηχανία όσο και από τους χρήστες. Τα λάθη με τη διαχείριση της μνήμης και την νωθρότητα που είδαμε και συμπεριλαμβανομένου του Galaxy S6 έχουν ξεφύγει, και αν σας αρέσει ή μισείτε το τελικό προϊόν, δεν μπορείτε να πείτε ότι δεν είναι ένα από τα καλύτερα τηλέφωνα Android που μπορείτε να αγοράσετε σήμερα όσον αφορά την απόδοση.

Διαχείριση μνήμης

Διαχείριση RAM

Δεν μπορούμε να απομακρυνθούμε από αυτό το θέμα χωρίς να ασχοληθούμε με τη διαχείριση μνήμης. Είναι ένας από εκείνους τους όρους που διαχέονται επειδή μερικοί άνθρωποι βλέπουν κάποιο πρόβλημα όταν κάνουν κάποια πράγματα, και το συγκρότημα αρχίζει να κυλάει. Μπορεί (και ήταν) ένα πραγματικό ζήτημα, ωστόσο.

Το λειτουργικό σύστημα αποφασίζει πότε θα σκοτώσει (όπως στο κλείσιμο και όχι στο παρασκήνιο) εφαρμογές και διεργασίες που είναι αποθηκευμένες στη μνήμη RAM. Η εγγραφή και η ανάγνωση από τη μνήμη RAM είναι γρήγορη — πολύ πιο γρήγορη από την εγγραφή και την ανάγνωση από τον χώρο αποθήκευσης. Αλλά είναι περιορισμένο. Ακόμη και ένα τηλέφωνο με 6 GB μνήμης RAM πρέπει να έχει ρυθμίσεις παραμέτρων για βέλτιστη απόδοση. Και δεν είναι διαθέσιμη όλη η μνήμη RAM που είναι εγκατεστημένη στο εσωτερικό του τηλεφώνου σας για χρήση από το λειτουργικό σύστημα. Τα τμήματα δεσμεύονται για την εκτέλεση του πυρήνα, τη χρήση της GPU και του κυψελοειδούς ραδιοφώνου. Κατά την εκκίνηση, είναι σύνηθες να βλέπετε τουλάχιστον 512 MB (ή περισσότερα) μνήμης RAM σε χρήση και μη διαθέσιμη. Αυτό είναι καλό — αυτές οι λειτουργίες χρειάζονται «άμεση» πρόσβαση στην CPU.

Ό, τι απομένει διαχειρίζεται με κλιμακωτό τρόπο. Ορισμένες εφαρμογές και διαδικασίες έχουν υψηλότερη προτεραιότητα από άλλες και θα εκχωρηθούν σε υψηλότερο επίπεδο από άλλα, μερικές φορές προαιρετικά, πράγματα που εκτελούνται στο παρασκήνιο. Όταν η συνολική ποσότητα ελεύθερης μνήμης RAM συρρικνώνεται σε ένα προκαθορισμένο επίπεδο, οι διεργασίες σκοτώνονται ανάλογα με την προτεραιότητα. Ο στόχος είναι να κρατήσετε όσο το δυνατόν περισσότερα πράγματα ζωντανά στο παρασκήνιο, αφήνοντας ταυτόχρονα αρκετό χώρο για να ξεκινήσετε νέα πράγματα. Ενώ αυτά τα νέα πράγματα ξεκινούν, η μνήμη RAM ξεπλένεται μέχρι να έχουν αρκετή ποσότητα για φόρτωση και διατηρείται ένα ελεύθερο buffer. Γι' αυτό ακούτε τους ανθρώπους να λένε "η δωρεάν RAM είναι σπατάλη RAM" όταν μιλούν για Linux — το Android τρέχει πάνω από τον πυρήνα του Linux.

Η προσαρμογή της διαχείρισης RAM είναι μια διαδικασία δοκιμής και σφάλματος. Στη συνέχεια, περισσότερες δοκιμές και λάθη. Είναι δύσκολο.

Όλες αυτές οι παράμετροι (εκτός της δεσμευμένης περιοχής για τον πυρήνα) προσαρμόζονται από τα άτομα που κατασκεύασαν το λειτουργικό σύστημα. Μπορούν να αποφασίσουν πόση μνήμη RAM χρειάζεται για να παραμείνει ελεύθερη και πόση μνήμη RAM μπορεί να χρησιμοποιηθεί από κάθε επίπεδο διεργασιών. Μπορούν επίσης να γράψουν το λογισμικό τους έτσι ώστε τα τμήματα να αντιστοιχίζονται σε ένα συγκεκριμένο επίπεδο στο δέντρο. Ένα εύχρηστο τέχνασμα είναι να διατηρείτε τη λειτουργία εκκίνησης — αυτό που βλέπετε στην αρχική(ες) οθόνη(ες) και το συρτάρι εφαρμογών — στη μνήμη RAM ανά πάσα στιγμή. Αυτό σημαίνει ότι η διεπαφή χρήστη για τα πράγματα με τα οποία είναι πιθανό να περάσετε τον περισσότερο χρόνο αλληλεπιδρώντας αποθηκεύεται πάντα στο Η μνήμη RAM και θα είναι πιο ρευστή επειδή δεν αφιερώνεται χρόνος για ανάγνωση από τον χώρο αποθήκευσης και εγγραφή στη μνήμη RAM όταν σαρώνετε και πατάτε.

Προβλήματα μπορεί να προκύψουν όταν πάρα πολύ ή πολύ λίγη μνήμη RAM διατηρείται ελεύθερη ή πάρα πολλά πράγματα έχουν «επισημανθεί» ως απαραίτητα και διατηρούνται στη μνήμη RAM. Γι' αυτό, για παράδειγμα, μπορείτε να αρχίσετε να πληκτρολογείτε κάτι σε μια φόρμα σε μια ιστοσελίδα, να μεταβείτε σε άλλη εφαρμογή και να επιστρέψετε για να δείτε ότι όλα όσα γράψατε έχουν φύγει επειδή η σελίδα έπρεπε να ανανεωθεί. Το σύστημα θα προσπαθήσει ακόμα να διατηρήσει τα πράγματα που χρησιμοποιείτε περισσότερο στη μνήμη RAM, αλλά δεν μπορεί να το κάνει.

Όλα αυτά μπορούν να διορθωθούν, με την προϋπόθεση ότι υπάρχει αρκετή RAM εγκατεστημένη. Είναι ένα άλλο μέρος της διαδικασίας βελτιστοποίησης και δύσκολο να γίνει σωστά.

Όλα τα Android δεν δημιουργούνται ίσα

Και δεν πρέπει να τους θέλουμε. Το λογισμικό είναι προσαρμοσμένο στο συγκεκριμένο υλικό που χρησιμοποιείται και η δοκιμή και το σφάλμα και το Red Bull αποτελούν μέρος της διαδικασίας βελτιστοποίησης. Αυτό είναι μέρος αυτού που κάνει κάθε τηλέφωνο Android μοναδικό και επιτρέπει την επιλογή για όλους.

instagram story viewer