ცნობილია, რომ Android-ის ხელმისაწვდომობის ფუნქცია იწვევს ინტერფეისის ჩამორჩენას. ეს შეცდომაა თუ ფუნქცია? რატომ ჩნდება? ჩვენ XDA-ში ვიკვლევთ ძირეულ მიზეზს.
Android-ის სილამაზე მდგომარეობს იმაში, რომ მესამე მხარის აპლიკაციებს შეუძლიათ სისტემასთან ურთიერთქმედება. პაროლის მენეჯერის აპები, როგორიცაა LastPass უზრუნველყოს შესაბამისი მომხმარებლის სახელის/პაროლის მონაცემების ავტომატურად მიწოდების შესაძლებლობა შესვლის თითქმის ნებისმიერ ეკრანზე. ტექსტის თანაშემწე საშუალებას გაძლევთ მნიშვნელოვნად შეამციროთ თქვენი მეგობრების გაგზავნის დრო, რაც საშუალებას გაძლევთ შექმნათ ტექსტის გაფართოების მაკროები. მშობლიური ბუფერი ამცირებს აპებს შორის ხშირად გადართვასთან დაკავშირებულ სირთულეს დიდი რაოდენობით ტექსტის კოპირების მიზნით, საშუალებას გაძლევთ ორჯერ დააჭიროთ შეყვანის ნებისმიერ ველს ბუფერში გამოსაჩენად. ვისაც შეუძლია დაივიწყოს გამწვანება, ალბათ #1 ყველაზე რეკომენდირებული აპი ენთუზიასტების მიერ, რომელიც აკონტროლებს უაზრო ფონურ აპებს და ამით გაზრდის ბატარეის ხანგრძლივობას? და ბოლოს, თუმცა ნაკლებად იცნობს მომხმარებელთა უმეტესობას, არის
ავტომატური შეყვანა - Tasker-ის დანამატი, რომელიც შექმნილია ეკრანის შეხების, ტექსტის შეყვანის, ჟესტების დარტყმის ავტომატიზაციისთვის და მრავალი სხვა. ყველა ეს აპი ემსახურება ძალიან განსხვავებულ გამოყენებას, მაგრამ თითოეული ეს აპი ეყრდნობა Android-ის ძირითადი ფუნქციონირების ძალიან გაუგებარ ნაწილს: ხელმისაწვდომობა.ანდროიდის საშუალო მომხმარებლისთვის შეიძლება უცნაურად ჩანდეს, რომ თქვენი საყვარელი აპის მიერ გამოყენებული ამ საოცარი ფუნქციებიდან კონტროლდება პარამეტრი ხელმისაწვდომობა ქვემენიუ. აპლიკაციის დამზადება ხელმისაწვდომი ჩვეულებრივ უნდა ნიშნავდეს, რომ Android-ის აპი გამოსაყენებელია ადამიანისთვის შეზღუდული შესაძლებლობის მქონე. რატომ აქვთ მსოფლიოში LastPass, Native Clipboard, Text Aide, Greenify ან AutoInput ხელმისაწვდომობა სერვისი? გარდა ამისა, რატომ ჩანს ხელმისაწვდომობის სერვისის ჩართვა გამოიწვიოს ამდენი UI ჩამორჩენა? როგორც ჩანს, არ აქვს მნიშვნელობა Android-ის რომელ ვერსიაზე ხართ - იქნება ეს Android 5.0 Lollipop ან Android 7.0 Nougat - რადგან გარკვეული ხელმისაწვდომობის სერვისებით გამოწვეულმა ჩამორჩენამ შეიძლება გავლენა მოახდინოს თქვენს გამოცდილებაზე. ამ პრობლემის მარტივი გამოსავალია უბრალოდ გამორთოთ ხელმისაწვდომობის სერვისები, რომლებიც შესაძლოა ჩართული გქონდეთ - მაგრამ ამით ჩვენ ვკარგავთ ძალიან ბევრ სასარგებლო ფუნქციას. კიდევ ერთი გამოსავალი არის შუამდგომლობა Google-ისთვის, რომ „გამოასწოროს“ Android-ის ხელმისაწვდომობის შეფერხება, მაგრამ Google ამტკიცებს, რომ Android Accessibility არის მუშაობს როგორც დაგეგმილი. ჩვენ ვესაუბრეთ რამდენიმე დეველოპერს, რომლებიც კარგად იცნობენ ხელმისაწვდომობის სერვისებს და გამოვიკვლიეთ როგორ მუშაობს ფუნქციონალობა და ჩვენ აქ ვართ ამ პრეტენზიის შესამოწმებლად: ანდროიდის ხელმისაწვდომობის ჩამორჩენა შეცდომაა თუ ფუნქციაა?
Android-ის ხელმისაწვდომობის გაგება
როგორც სახელით წარმოგიდგენიათ, ხელმისაწვდომობა ძირითადად განკუთვნილია დეველოპერებისთვის, რათა უზრუნველყონ დამატებითი ფუნქციონირება შეზღუდული შესაძლებლობის მქონე ნებისმიერი მომხმარებლისთვის. მართლაც, სწრაფი შეხედვა ოფიციალური დოკუმენტაციის გვერდები ხელმისაწვდომობისთვის ცხადყოფს, რომ Google-ს აქვს საკმაოდ ვიწრო ხედვა იმის შესახებ, თუ რა სახის სერვისები უნდა იყოს უზრუნველყოფილი Accessibility Services-ის მიერ.
Android-ის ბევრ მომხმარებელს აქვს განსხვავებული შესაძლებლობები, რაც მოითხოვს მათ ურთიერთქმედებას თავიანთ Android მოწყობილობებთან სხვადასხვა გზით. ეს მოიცავს მომხმარებლებს, რომლებსაც აქვთ ვიზუალური, ფიზიკური ან ასაკთან დაკავშირებული შეზღუდვები, რაც ხელს უშლის მათ სრულად დანახვას ან სენსორული ეკრანის გამოყენებით და სმენის დაქვეითების მქონე მომხმარებლები, რომლებიც შესაძლოა ვერ აღიქვან ხმოვანი ინფორმაცია და გაფრთხილებები.
Android უზრუნველყოფს ხელმისაწვდომობის ფუნქციებსა და სერვისებს, რათა დაეხმაროს ამ მომხმარებლებს უფრო ნავიგაციაში მათი მოწყობილობები ადვილად, მათ შორის ტექსტის მეტყველება, ჰაპტიკური გამოხმაურება, ჟესტებით ნავიგაცია, ტრეკის ბურთი და მიმართულების ბალიშები ნავიგაცია.
Google-ის TalkBack, რომელიც წინასწარ არის დაინსტალირებული ყველა Android ტელეფონზე, შესანიშნავი მაგალითია იმისა, თუ როგორი უნდა იყოს „ტიპიური“ ხელმისაწვდომობის სერვისი. ხმის წვდომა ხელმისაწვდომობას კიდევ ერთი ნაბიჯით აშორებს და საშუალებას გაძლევთ თითქმის სრულად მართოთ თქვენი ტელეფონი მხოლოდ თქვენი ხმის გამოყენებით. მაგრამ ის ფაქტი, რომ Google-მა განიზრახა ხელმისაწვდომობის სერვისების გამოყენება ამ გზით, ხელს არ უშლის დეველოპერებმა უნდა განახორციელონ ისინი ისე, როგორც უნდათ - და ეს არის ზუსტად ის, რაც დეველოპერებს აქვთ შესრულებულია. ეს არის ზუსტად იმის გამო, თუ როგორ მუშაობს Accessibility, რაც ქმნის ფუნქციას წარმოუდგენლად სასარგებლოა შეზღუდული შესაძლებლობის მქონე ან მის გარეშე მომხმარებლებისთვის.
ცოტა რამ რომ გავამარტივოთ, აქ არის ძირითადი მიმოხილვა, თუ როგორ მუშაობს Android-ის ხელმისაწვდომობა. დეველოპერი ქმნის ხელმისაწვდომობის სერვისი რომ გამოიწერს სხვადასხვა ხელმისაწვდომობის ღონისძიებები რომლებიც სისტემის მიერ ეგზავნება სერვისს იმისდა მიხედვით, დაკმაყოფილებულია თუ არა გარკვეული კრიტერიუმები. როდესაც ყველა სერვისი გამორთულია პარამეტრებში --> ხელმისაწვდომობაზე, Android არ აგროვებს და არ აგზავნის ხელმისაწვდომობის ღონისძიებებს. მაგრამ როდესაც მომხმარებელი დაიწყებს ხელმისაწვდომობის სერვისების ჩართვას, Android დაიწყებს მონიტორინგს და შეგროვებას მხოლოდ ის წვდომის მოვლენები, რომლებსაც ითხოვს ხელმისაწვდომობის სერვისი. მაგალითად, ხელმისაწვდომობის სერვისი, რომელიც გამოწერილია ხელმისაწვდომობის ღონისძიებაზე TYPE_WINDOW_CONTENT_CHANGED შეგატყობინებთ სისტემას ყოველთვის რომ მიმდინარე ფანჯარაში ხდება ცვლილება. ხელმისაწვდომობის კიდევ ერთი ღონისძიება ე.წ TYPE_VIEW_CLICKED ანთებს ყოველთვის მომხმარებელი აჭერს რაიმე სახის ღილაკს.
Android ხელმისაწვდომობის დემონსტრირება. ამ ვიდეოში მე გავააქტიურე აპლიკაცია თასკერი მონიტორინგისთვის ცვლილებები ფანჯრის სათაურში. ამისათვის საჭიროა Tasker's Accessibility Service-ის ჩართვა. ამის გამეორება შეგიძლიათ Tasker-ში ახალი პროფილის შექმნით, კონტექსტში „მოვლენა“ დაყენებულია „ცვლადი ნაკრები“ და აირჩიეთ %WIN, როგორც მონიტორინგის ცვლადი. საერთო ჯამში, ეს დაახლოებით 1 წუთიანი ვიდეოა გადაღებული 107 ცვლილება მიმდინარე ფანჯარაში.
ასეთი სახის ხელმისაწვდომობის მოვლენები დიდი სიხშირით ხდება მომხმარებლის ნორმალური ურთიერთქმედების დროს. ასე რომ, წარმოიდგინეთ, რა ხდება, როდესაც მომხმარებელი რთავს მრავალჯერადი ხელმისაწვდომობის სერვისს რომელიც მოითხოვს მაღალი სიხშირის ხელმისაწვდომობის ღონისძიებების გათიშვას. Სწორია - ჩამორჩენა. ამის შესამცირებლად, დეველოპერებს შეუძლიათ უფრო ვიწროდ განსაზღვრონ, თუ რა სახის ხელმისაწვდომობის მოვლენებია სერვისმა უნდა მოახდინოს რეაგირება და რა კონტექსტში, როგორიცაა სერვისის შეზღუდვის შესაძლებლობა მხოლოდ რეაგირებით როდესაც შევიდა გარკვეული აპლიკაციები ან შეზღუდოს კენჭისყრის პერიოდი მოვლენებს შორის. მაგრამ გარდა ამისა, ხელმისაწვდომობის სერვისის მიერ წარმოქმნილი ზედნადების რაოდენობა ძირითადად დამოკიდებულია რა სახის ხელმისაწვდომობის ღონისძიებები ის გამოწერილია. არსებითად, ყველა ხელმისაწვდომობის სერვისი არ გამოიწვევს ჩამორჩენას. ერთი ხელმისაწვდომობის სერვისი, რომელიც მოითხოვს მაღალი სიხშირის ღონისძიებას, შეიძლება გამოიწვიოს ჩამორჩენა, განსაკუთრებით თუ აღნიშნული სერვისი დაკავშირებულია სხვა სერვისთან, რომელიც მოითხოვს სხვა მაღალი სიხშირის ღონისძიების ჩატარებას მონიტორინგი.
ღრმად ჩაყვინთვის ხელმისაწვდომობას APK Teardowns-ით
როგორც ზემოთ გამოქვეყნებული ვიდეოდან გეტყვით, ხელმისაწვდომობის სერვისი, რომელიც აკონტროლებს ფანჯრის შინაარსის ცვლილებებს, შეუძლია იწვევს საკმაოდ შესამჩნევ ცვლილებებს UI-ის მუშაობაში, რაც გამოწვეულია ხელმისაწვდომობის მოვლენების დიდი რაოდენობის გამო სისტემა. თუმცა საკმაოდ რთულია იმის დადგენა, თუ რამდენი ზედნადია გამოწვეული კონკრეტული ხელმისაწვდომობის სერვისით. LogCat-ის მონიტორინგი, როგორც წესი, ვერსად მიგიყვანთ, რადგან Accessibility Events იბეჭდება LogCat-ზე მხოლოდ იმ შემთხვევაში, თუ Accessibility Service-ის შემქმნელი აირჩევს ამის გაკეთებას. საბედნიეროდ, ყველა Android ხელმისაწვდომობის სერვისის მამა, ავტომატური შეყვანა, აკეთებს ზუსტად ამას. და LogCat გამომავალი ზუსტად ისეთი ბინძურია, როგორც თქვენ წარმოიდგენთ.
AutoInput არ მალავს ჩვენგან სიმართლეს. აპლიკაციის მიერ გამოწვეული ზედნადები შეიძლება იყოს საკმაოდ დიდი, იმისდა მიხედვით, თუ რა მოვლენებს აკვირდებით. მაგრამ ეს ზედნადები აუცილებელია აპის ფუნქციონირებისთვის. იმისათვის, რომ ავტომატურმა შეყვანამ შეძლოს ყოველი ღილაკის დაჭერა, ეკრანის ყოველი ჟესტი, ყოველი ინტერფეისის განახლება და ყოველი ღილაკის დაჭერა, ის საჭიროებებს შესაბამისი ხელმისაწვდომობის მოვლენების მონიტორინგისთვის. ამ მოვლენების გარეშე, AutoInput არ შეუძლია სისტემაში ჩაერთოს და უზრუნველყოს თითქმის შეუზღუდავი ინტერფეისის ავტომატიზაცია, რომელსაც ის ამჟამად იძლევა. ამრიგად, AutoInput-ის ყველა ფუნქცია სრულყოფილად აზრს იძენს ხელმისაწვდომობის კონტექსტში. მაგრამ სხვა აპებისთვის, ჩვენ გვჭირდება ცოტა ღრმად ჩახედვა, რათა გავიგოთ, როგორ მუშავდება მათი ხელმისაწვდომობის სერვისები.
ხელმისაწვდომობის სერვისი ატრიბუტები განისაზღვრება ა XML რესურსის ფაილი APK-ში. ამიტომ, ჩვენ შეგვიძლია შევასრულოთ APK-ის დაშლა აპზე ხელმისაწვდომობის სერვისის მქონე სერვისის ატრიბუტების გასარკვევად. თითოეული აპლიკაცია განსხვავებულად ფუნქციონირებს, ამიტომ შევეცდები ავხსნა, თუ როგორ უკავშირდება მათი სერვისის ატრიბუტები კონკრეტულ ფუნქციას, რომელსაც იგი ასრულებს.
მშობლიური ბუფერი
Native Clipboard არის ჩემი გადასაწყვეტი, როდესაც საქმე ეხება ბუფერში მენეჯერებს. თუ თქვენ ეძებთ ბუფერში მორგებულ მენეჯერს, Native Clipboard საკმაოდ შესანიშნავი აპლიკაციაა. მას აქვს Xposed Module კომპონენტიც კი, რომელიც საშუალებას მოგცემთ დიდხანს დააჭიროთ ღილაკს "Paste" გაცვლის მენეჯერის გამოსაჩენად! სამწუხაროდ, თუ არ გაქვთ წვდომა 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, ასე რომ, ეს ნამდვილად საკმარისად სწრაფია იმისთვის, რომ უყოყმანოდ რეაგირებდეს რბილი კლავიატურის ხილვადობის ცვლილებებზე, ასევე ორმაგ შეხებაზე. ამან შეიძლება გამოიწვიოს UI ზედნადები, როდესაც მომხმარებელი იყენებს რბილ კლავიატურას ნებისმიერი ტექსტის აკრეფისთვის, რაც პოტენციურად გამოიწვევს ჩამორჩენას.
გამწვანება
შემდეგი არის ყველასთვის საყვარელი ბატარეის დამზოგავი, Greenify. Greenify იყენებს ხელმისაწვდომობის მოვლენებს თავისი არა ძირეული ფუნქციების გასაძლიერებლად.
"@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 ფაილში არ არის განსაზღვრული Accessibility Event. ყველაფერი რაც ნახსენებია არის პაკეტის სახელი - Nova Launcher. რაც აქ ხდება არის გამოსავალი გარკვეული მოწყობილობებისთვის, რომლებზეც Nova Launcher-ის ჟესტები არ მუშაობს. ეს სერვისი უზრუნველყოფს Nova Launcher-ს ყველა წვდომის მოვლენას, რომელიც გამორთულია მხოლოდ Nova Launcher-ში. უცნაურად ჟღერს, მაგრამ, როგორც ჩანს, ეს არის Nova-ს საწყისი ეკრანის ჟესტების გამოსწორების საშუალება, თუ თქვენი მოწყობილობა მათთან არ მუშაობს. ვინაიდან ეს მხოლოდ ითხოვს ივენთებს თავად Nova-სგან, სერვისი ძალიან მცირე ხარჯებს უქმნის.
LastPass
დაბოლოს, ალბათ ყველაზე სამარცხვინო ხელმისაწვდომობის სერვისი, რომელიც იწვევს ჩამორჩენას (ალბათ მისი უზარმაზარი პოპულარობის გამო) - LastPass. LastPass-ში ჩამორჩენის საკითხი არის ასე შესამჩნევი რომ კომპანიას ჰყავს თანამდებობის პირი FAQ გვერდი, რომელიც აღწერს საკითხს. როგორც 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. ის ამას აკეთებს იმიტომ, რომ მან უნდა იცოდეს, როდის შეიცვალა აპლიკაციის/ვებგვერდის კონტენტი/მოდის ფოკუსში და შემდეგ იბრუნებს მიმდინარე ფანჯრის შინაარსს პაროლის შეყვანის ნებისმიერი ველის მოსაძებნად. მაგრამ იმის გამო, რომ სერვისი ამას მუდმივად აკეთებს ორ ძალიან ხშირად გაშვებულ ხელმისაწვდომობის ღონისძიებაზე, ეს იწვევს ჩამორჩენას. ეს არის სამწუხარო სიმართლე.
ლაგით ცხოვრება
როდესაც ჩვენ პირველად წავიკითხეთ, რომ Google ხურავს შეცდომის ანგარიშებს ხელმისაწვდომობის შეფერხების შესახებ, რადგან ფუნქცია „მუშაობდა ისე, როგორც იყო დაგეგმილი“, ჩვენც ისევე დაბნეული და აღელვებული ვიყავით, როგორც ბევრი თქვენგანი. მაგრამ იმის ნაცვლად, რომ მივიღოთ ახსნა-განმარტება, ჩვენ გადავწყვიტეთ თავად შეგვეხედა ამ საკითხის სიმართლის დასადგენად. ასე რომ, როდესაც Google-ის თანამშრომელმა შეცდომების ანგარიშის გვერდზე თქვა ეს:
გამარჯობა, ეს პრობლემა მუდმივია Android-ის გამოშვებებში, ასევე ყოველთვის იქნება დამატებითი შეფერხება, როდესაც ჩართულია წვდომის სერვისი. ეს იმიტომ ხდება, რომ მოწყობილობა, სტანდარტული ინტერფეისის გარდა, უამრავ ინფორმაციას აწვდის ხელმისაწვდომობის სერვისებს, რათა მათ შეძლონ მომხმარებლის ალტერნატიული გამოცდილების მიწოდება ამ მომხმარებლებისთვის.
ჩვენ მივხვდით რატომ ეს არის განზრახ ქცევა. აპები, რომლებიც იყენებენ ხელმისაწვდომობის სერვისებს ისე, როგორც Google-ის მიერ არ იყო განზრახული, ყოველთვის ექვემდებარება ზედმეტ სამუშაოს; ეს ღირებულება უბრალოდ აუცილებელია სერვისების უამრავ ინფორმაციის მიწოდებისთვის, რომელიც ანდროიდის ხელმისაწვდომობას ამუშავებს ფონზე. Android-ის ჩამორჩენა ხელმისაწვდომობის სერვისებთან არის არა შეცდომა, არამედ ფუნქცია. ფუნქცია, რომლითაც ჩვენ მოგვიწევს ცხოვრება, თუ მთელი სისტემა არ დამუშავდება და ვერ წარმომიდგენია, როგორ გაკეთდება ეს, რომ მოერგოს ამდენი სხვადასხვა ფუნქციების ნაკრები ამდენი სხვადასხვა აპლიკაციიდან.
ყოველ შემთხვევაში, LastPass-ის დეველოპერები არ მიიღებდნენ ამას. მათი დეველოპერები მუშაობდნენ Chromium-ის დეველოპერებთან ხელმისაწვდომობის მხარდაჭერის ოპტიმიზაცია, შესაძლოა LastPass-ის მხარდაჭერის ჩართვით API-ების გამოყენებით ვიდრე ხელმისაწვდომობის სერვისის ჩართვა. ხელმისაწვდომობის სერვისების მიერ გაწეული ხარჯების ირგვლივ ოპტიმიზაცია არის ერთ-ერთი შესაძლებლობა, მაგრამ როგორც ბევრმა დეველოპერმა აღნიშნა. Chromium-ის ფორუმები, ეს უბრალოდ ბანდაიდია, რომელიც არ გადაჭრის ფაქტს, რომ ხელმისაწვდომობის სერვისების უნებლიე გამოყენებამ შეიძლება გამოიწვიოს ჩამორჩენა.
განსაკუთრებული მადლობა AutoInput-ის შემქმნელს, joaomgcd-ს, რომ უპასუხა ჩემს ბევრ კითხვას ხელმისაწვდომობასთან დაკავშირებით!