"Δουλεύοντας όπως προβλέπεται"

click fraud protection

Η δυνατότητα Προσβασιμότητας του Android είναι γνωστό ότι προκαλεί καθυστέρηση διεπαφής χρήστη. Είναι σφάλμα ή είναι χαρακτηριστικό; Γιατί εμφανίζεται; Εμείς στο XDA ερευνούμε τη βασική αιτία.

Η ομορφιά του Android έγκειται στους πολλούς διαφορετικούς τρόπους με τους οποίους οι εφαρμογές τρίτων μπορούν να αλληλεπιδράσουν με το σύστημα. Εφαρμογές διαχείρισης κωδικών πρόσβασης όπως LastPass παρέχουν τη δυνατότητα αυτόματης τροφοδότησης σχετικών δεδομένων ονόματος χρήστη/κωδικού πρόσβασης σε σχεδόν οποιαδήποτε οθόνη σύνδεσης. Βοηθός κειμένου σας επιτρέπει να μειώσετε σημαντικά το χρόνο που στέλνετε μηνύματα στους φίλους σας, επιτρέποντάς σας να δημιουργείτε μακροεντολές επέκτασης κειμένου. Εγγενές πρόχειρο μειώνει την ταλαιπωρία που συνεπάγεται η συχνή εναλλαγή μεταξύ εφαρμογών για την αντιγραφή μεγάλων ποσοτήτων κειμένου, επιτρέποντάς σας να πατήσετε δύο φορές οποιοδήποτε πεδίο εισαγωγής για να εμφανιστεί ένα πρόχειρο. Ποιος μπορεί να ξεχάσει Πρασινοποιήστε, ίσως η #1 πιο προτεινόμενη εφαρμογή από τους λάτρεις, η οποία κρατά υπό έλεγχο τις απατεώνες εφαρμογές φόντου και μπορεί έτσι να βελτιώσει τη διάρκεια ζωής της μπαταρίας; Τέλος, αν και λιγότερο εξοικειωμένοι με τους περισσότερους χρήστες, υπάρχει

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

Στον μέσο χρήστη Android, μπορεί να φαίνεται περίεργο το γεγονός ότι πολλές από αυτές τις εκπληκτικές λειτουργίες που χρησιμοποιούνται από την αγαπημένη σας εφαρμογή ελέγχονται από μια ρύθμιση κάτω από το προσιτότητα υπομενού. Δημιουργία εφαρμογής προσιτός συνήθως υποτίθεται ότι σημαίνει ότι μια εφαρμογή Android μπορεί να χρησιμοποιηθεί σε ένα άτομο με αναπηρίες. Γιατί, λοιπόν, στον κόσμο το LastPass, το Native Clipboard, το Text Aide, το Greenify ή η AutoInput έχουν προσιτότητα υπηρεσία? Επιπλέον, γιατί φαίνεται να ενεργοποιείται μια υπηρεσία προσβασιμότητας προκαλούν τόση καθυστέρηση διεπαφής χρήστη? Δεν φαίνεται να έχει σημασία σε ποια έκδοση Android χρησιμοποιείτε - είτε είναι Android 5.0 Lollipop ή Android 7.0 Nougat - επειδή η καθυστέρηση που προκαλείται από ορισμένες υπηρεσίες προσβασιμότητας μπορεί να επηρεάσει την εμπειρία σας. Μια απλή λύση σε αυτό το πρόβλημα είναι απλώς να απενεργοποιήσετε τις υπηρεσίες προσβασιμότητας που μπορεί να έχετε ενεργοποιήσει - αλλά με αυτόν τον τρόπο, χάνουμε τόσες πολλές χρήσιμες λειτουργίες. Μια άλλη λύση είναι να ζητήσετε από την Google να "διορθώσει" την καθυστέρηση προσβασιμότητας του Android, αλλά η Google ισχυρίζεται ότι η Προσβασιμότητα Android είναι λειτουργεί όπως προβλέπεται. Μιλήσαμε με μερικούς προγραμματιστές που είναι εξοικειωμένοι με τις υπηρεσίες προσβασιμότητας και ερευνήσαμε πώς λειτουργεί η λειτουργικότητα και είμαστε εδώ για να δοκιμάσουμε αυτόν τον ισχυρισμό: η καθυστέρηση προσβασιμότητας του Android είναι σφάλμα ή είναι χαρακτηριστικό;


Κατανόηση της Προσβασιμότητας Android

Όπως μπορείτε να φανταστείτε από το όνομα, η Προσβασιμότητα προορίζεται κυρίως για προγραμματιστές να παρέχουν πρόσθετες λειτουργίες σε οποιονδήποτε χρήστη με αναπηρία. Πράγματι, μια γρήγορη ματιά στο επίσημες σελίδες τεκμηρίωσης για Προσβασιμότητα αποκαλύπτει ότι η Google έχει μια αρκετά στενή άποψη για το τι είδους υπηρεσίες πρέπει να παρέχονται από τις Υπηρεσίες Προσβασιμότητας.

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

Το Android παρέχει λειτουργίες και υπηρεσίες προσβασιμότητας για να βοηθήσει αυτούς τους χρήστες να περιηγούνται περισσότερο στις συσκευές τους εύκολα, συμπεριλαμβανομένης της μετατροπής κειμένου σε ομιλία, της απτικής ανάδρασης, της πλοήγησης με χειρονομίες, του trackball και του πληκτρολογίου κατεύθυνσης πλοήγηση.

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

Για να απλοποιήσουμε λίγο τα πράγματα, ακολουθεί μια βασική περίληψη του πώς λειτουργεί η Προσβασιμότητα του Android. Ένας προγραμματιστής δημιουργεί ένα Υπηρεσία Προσβασιμότητας που προσυπογράφει σε διάφορα Εκδηλώσεις προσβασιμότητας που αποστέλλονται από το σύστημα στην Υπηρεσία ανάλογα με το αν πληρούνται ή όχι ορισμένα κριτήρια. Όταν όλες οι Υπηρεσίες είναι απενεργοποιημένες στις Ρυθμίσεις --> Προσβασιμότητα, το Android δεν συλλέγει ούτε στέλνει συμβάντα προσβασιμότητας. Όταν όμως ο χρήστης αρχίσει να ενεργοποιεί τις Υπηρεσίες Προσβασιμότητας, το Android θα αρχίσει να παρακολουθεί και να συλλέγει μόνο εκείνα τα συμβάντα προσβασιμότητας που ζητά η Υπηρεσία Προσβασιμότητας. Για παράδειγμα, μια υπηρεσία προσβασιμότητας που εγγράφεται στο συμβάν προσβασιμότητας TYPE_WINDOW_CONTENT_CHANGED θα ειδοποιηθεί από το σύστημα κάθε φορά ότι συμβαίνει μια αλλαγή στο τρέχον παράθυρο. Μια άλλη εκδήλωση προσβασιμότητας ονομάζεται TYPE_VIEW_CLICKED πυρπολείται κάθε φορά ο χρήστης κάνει κλικ σε ένα κουμπί κάποιου είδους.

Επίδειξη προσβασιμότητας Android. Σε αυτό το βίντεο, έχω ενεργοποιήσει την εφαρμογή Tasker για παρακολούθηση για αλλαγές στον τίτλο του παραθύρου. Αυτό απαιτεί την ενεργοποίηση της υπηρεσίας προσβασιμότητας του Tasker. Μπορείτε να το επαναλάβετε δημιουργώντας ένα νέο προφίλ στο Tasker με το περιβάλλον "Συμβάν" να έχει οριστεί σε "Σετ μεταβλητής" και επιλέγοντας %WIN ως μεταβλητή για παρακολούθηση. Συνολικά, αυτό το βίντεο διάρκειας περίπου 1 λεπτού τραβήχτηκε 107 αλλαγές στο τρέχον παράθυρο.

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


Βουτιά σε βάθος στην προσβασιμότητα με τα APK Teardowns

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

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

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

Εγγενές πρόχειρο

Το Native Clipboard είναι το αγαπημένο μου όταν πρόκειται για διαχειριστές προχείρων. Αν ψάχνετε για έναν εξαιρετικά προσαρμόσιμο διαχειριστή προχείρου, το Native Clipboard είναι μια πολύ καλή εφαρμογή. Διαθέτει ακόμη και ένα στοιχείο Xposed Module που σας επιτρέπει να πατάτε παρατεταμένα το κουμπί «Επικόλληση» για να εμφανιστεί ο διαχειριστής του προχείρου! Δυστυχώς, αν δεν έχετε πρόσβαση στο Xposed Framework (όπως κάθε χρήστης στο Nougat), τότε θα πρέπει να τακτοποιήσετε για την ενεργοποίηση της Υπηρεσίας Προσβασιμότητας που θα σας επιτρέψει να πατήσετε δύο φορές σε οποιαδήποτε εισαγωγή κειμένου για να εμφανιστεί το πρόχειρο διευθυντής. Να τι συνεπάγεται αυτό.


"@string/access_decs"
android: accessibilityEventTypes="typeViewClicked|typeViewFocused|typeViewLongClicked|typeWindowStateChanged"
android: accessibilityFeedbackType="feedbackGeneric"
android: notificationTimeout="100"
android: accessibilityFlags="flagReportViewIds|flagRetrieveInteractiveWindows"
android: canRetrieveWindowContent="true"
xmlns: andro />

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

Πρασινοποιήστε

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


"@string/accessibility_service_description"
android: settingsActivity="com.oasisfeng.greenify.accessibility.AccessibilitySettings"
android: accessibilityEventTypes="typeAnnouncement|typeNotificationStateChanged|typeWindowStateChanged"
android: accessibilityFeedbackType="feedbackGeneric" android: notificationTimeout="0"
android: accessibilityFlags="flagReportViewIds"
android: canRetrieveWindowContent="true"
xmlns: andro />

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

Nova Launcher

Πιθανώς η πιο δημοφιλής εφαρμογή εκκίνησης τρίτου κατασκευαστή στην αγορά, το Nova Launcher είναι ένα εξαιρετικό παράδειγμα εφαρμογής που χρησιμοποιεί υπηρεσία προσβασιμότητας με ελάχιστο έως καθόλου κόστος. Ο μόνος λόγος ύπαρξης της Υπηρεσίας είναι να βοηθά ορισμένες συσκευές στην εκτέλεση χειρονομιών.


"@string/accessibility_service_description"
android: accessibilityEventTypes=""
android: packageNames="com.teslacoilsw.launcher"
android: accessibilityFeedbackType=""
android: notificationTimeout="10000"
android: canRetrieveWindowContent="false"
xmlns: andro />

Όπως μπορείτε να δείτε, δεν έχει οριστεί συμβάν προσβασιμότητας στο αρχείο XML. Το μόνο που αναφέρεται είναι το όνομα ενός πακέτου - Nova Launcher. Αυτό που συμβαίνει εδώ είναι μια λύση για ορισμένες συσκευές για τις οποίες οι χειρονομίες του Nova Launcher δεν λειτουργούν. Αυτή η υπηρεσία θα παρέχει στο Nova Launcher όλα τα συμβάντα προσβασιμότητας που ενεργοποιούνται από μόνο εντός του Nova Launcher. Ακούγεται περίεργο, αλλά προφανώς είναι ένας τρόπος να διορθώσετε τις χειρονομίες της αρχικής οθόνης της Nova, εάν η συσκευή σας δεν λειτουργεί με αυτές. Δεδομένου ότι αυτό απαιτεί συμβάντα μόνο από την ίδια τη Nova, η Υπηρεσία έχει πολύ λίγα έξοδα.

LastPass

Τέλος, ίσως η πιο διαβόητη Υπηρεσία Προσβασιμότητας που προκαλεί καθυστέρηση (πιθανώς λόγω της τεράστιας δημοτικότητάς της) - το LastPass. Το θέμα της καθυστέρησης στο LastPass είναι τόσο αισθητή ότι η εταιρεία έχει υπάλληλο Σελίδα συχνών ερωτήσεων που περιγράφει το πρόβλημα. Όπως αναφέρει το FAQ, δεν μπορείτε να κάνετε τίποτα για την καθυστέρηση εκτός από την απενεργοποίηση της Υπηρεσίας. Γιατί η υπηρεσία LastPass φαίνεται τόσο τρομερή όσον αφορά την καθυστέρηση; Ας ρίξουμε μια ματιά στα χαρακτηριστικά της Υπηρεσίας.


"@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. Αυτό το κάνει επειδή πρέπει να γνωρίζει πότε άλλαξε/εστιάζει το περιεχόμενο μιας εφαρμογής/ιστοσελίδας και, στη συνέχεια, ανακτά το τρέχον περιεχόμενο του παραθύρου για να αναζητήσει τυχόν πεδία εισαγωγής κωδικού πρόσβασης. Αλλά δεδομένου ότι η υπηρεσία το κάνει συνεχώς αυτό σε δύο εξαιρετικά συχνά ενεργά συμβάντα προσβασιμότητας, έχει ως αποτέλεσμα την καθυστέρηση. Αυτή είναι η δυσάρεστη αλήθεια.


Ζώντας με το Lag

Όταν διαβάσαμε για πρώτη φορά ότι η Google έκλεινε αναφορές σφαλμάτων σχετικά με την καθυστέρηση Προσβασιμότητας επειδή η λειτουργία "δούλευε όπως έπρεπε", ήμασταν το ίδιο μπερδεμένοι και αναστατωμένοι όσο πολλοί από εσάς. Αλλά αντί να δεχθούμε την εξήγηση στην ονομαστική αξία, αποφασίσαμε να εξετάσουμε το θέμα μόνοι μας για να προσδιορίσουμε την αλήθεια. Έτσι, όταν ο υπάλληλος της Google στη σελίδα αναφοράς σφαλμάτων είπε το εξής:

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

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

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


Ιδιαίτερες ευχαριστίες στον προγραμματιστή του AutoInput, joaomgcd, που απάντησε σε πολλές από τις ερωτήσεις μου σχετικά με την Προσβασιμότητα!