Logo el.androidermagazine.com
Logo el.androidermagazine.com

Το απλό τέχνασμα του Facebook για την εξυπηρέτηση τόσων διαφορετικών συσκευών Android

Anonim

Μερικοί άνθρωποι θέλουν να το ονομάσουν κατακερματισμό, άλλοι το αποκαλούν επιλογή, αλλά με οποιοδήποτε όνομα υπάρχουν σίγουρα πολλά διαφορετικά τηλέφωνα Android. Η οικοδόμηση εφαρμογών που πρέπει να συνεργαστούν με όλους τους δεν είναι εύκολη υπόθεση. Έχετε άκρως διαφορετικές διαμορφώσεις υλικού που κάνουν μεγάλη διαφορά στην απόδοση και παρόλο που ένα αρχείο apk μπορεί να λειτουργήσει σε κάθε ένα από αυτά, εξακολουθεί να υπάρχει το πρόβλημα της ανάγκης για μια εφαρμογή να λειτουργεί ομαλά σε συσκευές χαμηλού επιπέδου χωρίς να θυσιάζεται χαρακτηριστικά σε υψηλά end συσκευές. Όταν μιλάτε για μια εφαρμογή τόσο δημοφιλής όσο το Facebook, αυτό μπορεί γρήγορα να γίνει ένας εφιάλτης για τους ανθρώπους που κάνουν την κωδικοποίηση.

Το Facebook έδειξε ο καθένας στο Μεγάλο Android Meat και χαιρέτισε μια νέα λύση που είναι απλή - η συσκευή της κλάσης Year Class.

Οι προγραμματιστές του Facebook περιγράφουν αυτό το νέο στοιχείο λογισμικού όπως αυτό:

Device Year Class είναι μια βιβλιοθήκη Android που υλοποιεί έναν απλό αλγόριθμο που χαρτογραφεί μνήμη RAM της συσκευής, πυρήνες CPU και ταχύτητα ρολογιού στο έτος όπου αυτοί οι συνδυασμοί προδιαγραφών θεωρήθηκαν υψηλό τέλος. Αυτό επιτρέπει σε έναν προγραμματιστή να τροποποιεί εύκολα τη συμπεριφορά των εφαρμογών με βάση τις δυνατότητες του υλικού του τηλεφώνου.

Η βιβλιοθήκη δεν μεταβάλλει καμία συμπεριφορά στην εφαρμογή. Επιστρέφει μια τιμή (εκφραζόμενη ως έτος) που αποθηκεύεται στον κώδικα για τις στιγμές που ένας προγραμματιστής πρέπει να αλλάξει τον τρόπο με τον οποίο μια εφαρμογή λειτουργεί για να προσαρμόσει την εμπειρία σε ένα συγκεκριμένο τύπο υλικού. Αυτό σημαίνει ότι ο dev μπορεί να γράψει μια εφαρμογή με φανταχτερά animations και μεταβάσεις που θα παίζουν όπως προβλέπεται όταν τρέχουν σε κάτι σαν το Galaxy Note 4, αλλά μην χρησιμοποιείτε το eye-candy όταν η εφαρμογή τρέχει σε κάτι σαν το Moto E. Όπως μπορείτε φανταστείτε, αυτό το είδος ελέγχου σε μια εφαρμογή όπως το Facebook - το οποίο είναι εγκατεστημένο σε εκατομμύρια και εκατομμύρια διαφορετικά τηλέφωνα - μπορεί και θα κάνει για μια καλύτερη εμπειρία για όλους σχεδόν. Και είναι εύκολο να εφαρμοστεί. Από την τεκμηρίωση για το GitHub:

if (year >= 2013) { // Do advanced animation } else if (year > 2010) { // Do simple animation } else { // Phone too slow, don't do any animations }

Πάνω απ 'όλα, η βιβλιοθήκη είναι ανοιχτή με βάση την άδεια λογισμικού BSD (η ίδια άδεια που χρησιμοποιεί η Google για την πηγή του Android) και είναι διαθέσιμη για κάθε προγραμματιστή να χρησιμοποιεί δωρεάν.

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

GitHub σελίδα της κλάσης της συσκευής