Το πλαίσιο αυτόματης συμπλήρωσης του Android O θα λύσει επιτέλους ένα μακροχρόνιο πρόβλημα καθυστέρησης με τους διαχειριστές κωδικών πρόσβασης

Το νέο Πλαίσιο Αυτόματης Συμπλήρωσης στο Android O θα επιλύσει ένα μακροχρόνιο πρόβλημα καθυστέρησης που σχετίζεται με τις Υπηρεσίες Προσβασιμότητας των διαχειριστών κωδικών πρόσβασης.

Έχει ήδη περάσει ένας μήνας από τότε που η Google κυκλοφόρησε το πρώτη προεπισκόπηση προγραμματιστή Android O (ο χρόνος κυλάει σίγουρα γρήγορα!), και όπως συμβαίνει με κάθε νέα έκδοση του Android - υπάρχουν πολλά να ψάξετε. Έχουμε δημοσιεύσει πολλά άρθρα σχετικά με το Android O ήδη, αλλά υπάρχει ένα χαρακτηριστικό που πιστεύω ότι δεν έχει λάβει την προσοχή που του αξίζει: το Αυτόματη συμπλήρωση πλαισίου.

Αυτόματη συμπλήρωση στο Android O

Οι διαχειριστές κωδικών πρόσβασης είναι μια δεκάρα καμιά δεκαριά αυτές τις μέρες (αν και είμαστε εν μέρει στο KeePass ανοιχτού κώδικα), αλλά μόνο με το Android O η Google υποστηρίζει επίσημα τους διαχειριστές κωδικών πρόσβασης. Με το Android O, οι εφαρμογές τρίτων μπορούν να συμπληρώσουν τη λίστα μιας υπηρεσίας αυτόματης συμπλήρωσης, η οποία επικοινωνεί με τις εφαρμογές μέσω του νέου Πλαισίου Αυτόματης Συμπλήρωσης. Εφαρμογές που χρησιμοποιούν στάνταρ

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

Όταν εστιάζει μια προβολή με δυνατότητα αυτόματης συμπλήρωσης, το Πλαίσιο Αυτόματης Συμπλήρωσης θα καλέσει ένα αίτημα αυτόματης συμπλήρωσης. Η υπηρεσία αυτόματης συμπλήρωσης αποκρίνεται στέλνοντας πίσω ορισμένα σύνολα δεδομένων αυτόματης συμπλήρωσης (όπως το όνομα χρήστη, τον κωδικό πρόσβασης, τη διεύθυνση, τους αριθμούς πιστωτικών καρτών κ.λπ.) που μπορεί στη συνέχεια να επιλέξει ο χρήστης. Η υπηρεσία αυτόματης συμπλήρωσης καθορίζεται από τον χρήστη στις Ρυθμίσεις --> Εφαρμογές και ειδοποιήσεις --> Προεπιλεγμένες εφαρμογές --> Εφαρμογή Αυτόματης συμπλήρωσης.

Εφαρμογή αυτόματης συμπλήρωσης στο Android O. Πιστώσεις: Lastpass.

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


Προτεινόμενη ανάγνωση: Το AgileBits δείχνει πώς θα μοιάζει το Πλαίσιο Αυτόματης Συμπλήρωσης του Android O


Αυτόματη συμπλήρωση πριν από το Android O

Συγκρίνετε το με το πώς λειτουργούσε η αυτόματη συμπλήρωση πριν από το Android O. Πριν οι διαχειριστές κωδικών πρόσβασης είχαν οποιοδήποτε είδος επίσημης μεθόδου για να εντοπίσουν πότε μια προβολή θα μπορούσε να συμπληρωθεί αυτόματα, το καθένα Η εφαρμογή έπρεπε να εφαρμόσει μια υπηρεσία προσβασιμότητας για να σαρώσει την τρέχουσα προβολή προκειμένου να βρει αυτόματη συμπλήρωση χωράφια.

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

Αλλά γιατί ακριβώς η Υπηρεσία Προσβασιμότητας του LastPass ή η Υπηρεσία Προσβασιμότητας οποιουδήποτε άλλου διαχειριστή κωδικών πρόσβασης φαίνεται να προκαλεί τόσο μεγάλη καθυστέρηση; Ο λόγος οφείλεται στον τρόπο με τον οποίο αυτοί οι διαχειριστές κωδικών πρόσβασης πρέπει να χρησιμοποιούν τις Υπηρεσίες προσβασιμότητας για τον εντοπισμό πεδίων εισαγωγής. Μια υπηρεσία προσβασιμότητας γνωρίσματα ορίζονται σε ένα Αρχείο πόρων XML εντός του APK, ώστε να μπορούμε να δούμε πώς λειτουργεί η Υπηρεσία αποσυμπιλώνοντας το αρχείο APK.

Παρακάτω είναι το αρχείο πόρων που ελήφθη από την αποσυμπίληση του LastPass APK:


"@string/accessibility_service_description"
android: accessibilityEventTypes="typeViewFocused|typeWindowContentChanged"
android: accessibilityFeedbackType="feedbackGeneric"
android: notificationTimeout="200"
android: accessibilityFlags="flagReportViewIds"
android: canRetrieveWindowContent="true"
android: canRequestEnhancedWebAccessibility="true"
xmlns: andro />

Από αυτό, μπορούμε να συλλέξουμε τις ακόλουθες πληροφορίες: Η υπηρεσία προσβασιμότητας του LastPass ζητά δύο τύπους συμβάντων για παρακολούθηση - TYPE_VIEW_FOCUSED και TYPE_WINDOW_CONTENT_CHANGED. Αυτό το κάνει επειδή πρέπει να γνωρίζει πότε το περιεχόμενο μιας εφαρμογής/ιστοσελίδας αλλάζει ή εστιάζεται και, στη συνέχεια, ανακτά το τρέχον περιεχόμενο του παραθύρου για να αναζητήσει τυχόν πεδία εισαγωγής κωδικού πρόσβασης. Αλλά δεδομένου ότι η υπηρεσία το κάνει συνεχώς αυτό σε δύο εξαιρετικά συχνά ενεργά συμβάντα προσβασιμότητας, έχει ως αποτέλεσμα την καθυστέρηση. Για μια πιο εμπεριστατωμένη συζήτηση σχετικά με το πώς οι Υπηρεσίες Προσβασιμότητας μπορούν να προκαλέσουν καθυστέρηση, σας παραπέμπω στο προηγούμενο άρθρο μου σχετικά με το θέμα.


Προτεινόμενη ανάγνωση: "Working as intended" - Μια εξερεύνηση στην καθυστέρηση προσβασιμότητας του Android


Το Android O σκοτώνει δύο πουλιά με μια πέτρα

Πριν από το Android O, δεν υπήρχαν πραγματικά πολλά που μπορούσαν να κάνουν οι προγραμματιστές διαχειριστών κωδικών πρόσβασης για να μετριάσουν αυτήν την καθυστέρηση. Αυτό συμβαίνει επειδή οι διαχειριστές κωδικών πρόσβασης δεν είχαν τρόπο να γνωρίζουν πότε ένα πεδίο εισαγωγής με αυτόματη συμπλήρωση υπήρχε στην οθόνη χωρίς να επιτρέπουν σε μια Υπηρεσία Προσβασιμότητας να παρακολουθεί συνεχώς για αυτούς. Ωστόσο, χάρη στο νέο Πλαίσιο Αυτόματης Συμπλήρωσης στο Android O, αυτοί οι διαχειριστές κωδικών πρόσβασης μπορούν πλέον να αποσύρουν τις Υπηρεσίες προσβασιμότητας τους. Αντίθετα, οι εφαρμογές που χρειάζονται εισαγωγή δεδομένων οι ίδιες θα ζητήσουν από το Πλαίσιο Αυτόματης Συμπλήρωσης να καλέσει την υπηρεσία αυτόματης συμπλήρωσης που στη συνέχεια θα στείλει τα δεδομένα. Χάρη σε αυτό το νέο πλαίσιο, όχι μόνο η εισαγωγή κωδικού πρόσβασης θα γίνει πολύ πιο εύκολη για τους χρήστες, καθώς δεν χρειάζεται πλέον να βασίζονται σε ένα πρόσθετη μέθοδο εισαγωγής, αλλά η καθυστέρηση που σχετίζεται με την ενεργοποίηση των Υπηρεσιών Προσβασιμότητας των διαχειριστών κωδικών πρόσβασης θα είναι το παρελθόν.

Γνωρίζω ότι για κάποιους από εσάς, αυτό το γεγονός μπορεί να μην είναι πρωτοποριακό, αλλά σκέφτηκα ότι, καθώς η συζήτηση γύρω από την Υπηρεσία Προσβασιμότητας ήταν τόσο βουβή, αυτό το θέμα ίσως άξιζε να αναζωπυρωθεί. Λίγη τροφή για σκέψη αυτό το Σαββατοκύριακο!


Πώς σας φαίνεται το νέο Πλαίσιο Αυτόματης Συμπλήρωσης του Android O; Ενημερώστε μας στα σχόλια παρακάτω!