აი, რატომ მუშაობს Nova Launcher უკეთესად Google Pixel ტელეფონებზე

Google-მა დაამატა API, რომელიც საშუალებას აძლევს მესამე მხარის გამშვებებს, როგორიცაა Nova Launcher, აჩვენონ მეტი სითხის გადასვლის ანიმაციები. ახლა მხოლოდ Pixel ტელეფონებს აქვთ.

წარსულში, მესამე მხარის გამშვები აპლიკაციები ხშირად იძლეოდა უმაღლეს გამოცდილებას Android ტელეფონების უმეტესობაზე ნაპოვნი საფონდო გამშვებისთვის. ბოლო აპლიკაციების ეკრანის განახლებით და Android 9 Pie-ში ჟესტების დანერგვით, თუმცა, მესამე მხარის გამშვებები არახელსაყრელ მდგომარეობაში აღმოჩნდა, რადგან ეს ახალი გამოცდილება ინტეგრირებული იყო მარაგში გამშვები აპლიკაცია. დროთა განმავლობაში, Google ცდილობდა მესამე მხარის გამშვების გამოცდილება არც ისე საშინელი გაეხადა ჟესტების გამოყენებისას და მათ ამ ბოლო დროს რეალურად მიაღწიეს წარმატებას.

თუ ბოლო რამდენიმე თვის განმავლობაში იყენებდით Nova Launcher-ის ბეტა გამოშვებას Google Pixel ტელეფონზე, შესაძლოა შეამჩნიეთ თხევადი ანიმაციები ჟესტებით ნავიგაციის გამოყენებისას. სამწუხაროდ, თქვენ ვერ ნახავთ იმავე ანიმაციებს Nova Launcher-ის გამოყენებისას სხვა მოწყობილობაზე, ყოველ შემთხვევაში, ჯერჯერობით. იმის გასაგებად, თუ რატომ გვჭირდება, ჯერ მოკლედ ავხსნათ, რა განასხვავებს მესამე მხარის გამშვებებს, როგორიცაა Nova Launcher, საფონდო გამშვებებისგან, როგორიცაა Google-ის Pixel Launcher.

Google-მა პირველად შემოიტანა ჟესტებით ნავიგაცია Android 9 Pie-ში. იმისათვის, რომ ჟესტიკულაციას რაც შეიძლება სითხე ეგრძნო, Google-ს სჭირდებოდა აპების გადასვლები უპრობლემოდ გამოეჩინა. მათ ასევე სურდათ, მომხმარებლებს მიეცეთ წვდომა მათი აპლიკაციების მთელ სიაში ბოლო აპლიკაციების ეკრანიდან. ორივეს გასაკეთებლად Google-მა გადაწყვიტა გადაეტანა კოდი, რომელიც ამუშავებს ბოლო აპების ეკრანს Android-იდან SystemUI to Launcher3, Android-ის ღია კოდის გამშვები აპი, რომლიდანაც OEM საფონდო გამშვებების უმეტესობა არის ჩანგალი. ამრიგად, QuickStep კომპონენტი დაიბადა და მისი პრივილეგირებული ბუნების გამო, Android მხოლოდ წინასწარ დაინსტალირებული გამშვების აპლიკაციის დაყენების საშუალებას აძლევს ბოლო აპლიკაციების მიმწოდებლად. ეს შეიძლება იყოს გადაფარებულია root წვდომით თუ მესამე მხარის გამშვები მხარს უჭერს მას, მაგრამ მომხმარებლების უმეტესობისთვის, ეს ნიშნავს, რომ მესამე მხარის გამშვები აპლიკაცია ყოველთვის დაეყრდნობა საფონდო გამშვებს ჟესტებისა და ბოლო აპლიკაციების ეკრანის დასამუშავებლად. შედეგი, როგორც თქვენგანმა უმეტესობამ ალბათ განიცადა, შეიძლება იყოს ოდნავ მომაბეზრებელი, გადასვლებით, რომლებიც არ გამოიყურება თხევადი და უწყვეტი. თუ არ იყენებთ Google Pixel ტელეფონს, ანუ.

Google Pixel ტელეფონების უმეტესობაზე არსებობს API, რომელიც მესამე მხარის გამშვებებს შეუძლიათ გამოიყენონ, რათა აპიდან მთავარ ეკრანზე გადასვლა ბევრად უფრო ორიგინალური გამოიყურებოდეს. ზოგიერთი მესამე მხარის გამშვები აპლიკაცია მოსწონს Niagara Launcher და ზემოხსენებული Nova Launcher სარგებლობს ამ API-ით, თუმცა ეს უკანასკნელი მხოლოდ მას მოიცავს განვითარებადი v7 ნაგებობები. ამ API-ს გამოყენებისას, მესამე მხარის გამშვები აპი იღებს განზრახვას და უკურეკვას QuickStep-ისგან, როდესაც მომხმარებელი ასრულებს ჟესტს სახლში წასასვლელად. მესამე მხარის გამშვებს შეუძლია მიუთითოს ჟესტების სისტემაში, თუ როგორ უნდა მოახდინოს ფანჯრის ანიმაცია, რადგან ის მინიმუმამდეა დაყვანილი აპის ხატულაზე.

აი, მაგალითი იმისა, თუ როგორ გამოიყურება ეს Niagara Launcher-ში, გამშვების დეველოპერის მიერ 8 ბიტიანი:

და აქ არის შედარება, რომელიც აჩვენებს, თუ როგორ გამოიყურება ანიმაცია ASUS ROG ტელეფონი 5 და Google Pixel 4, ორივე მუშაობს Nova Launcher v7.0.25 (უახლესი ბეტა გამოშვება გამოქვეყნების დროს) და Android 11:

\r\n https://www.youtube.com/watch? v=equ-8yDw_Do\r\n

ახლა შეიძლება გაინტერესებთ: არის ეს API ექსკლუზიური Google Pixel ტელეფონებისთვის? პასუხი არის არა, ეს არ არის. API არის Launcher3/QuickStep-ის ნაწილი და შეგიძლიათ იხილოთ AOSP-ში, რაც ნიშნავს, რომ ის ღიაა OEM გამშვების ნებისმიერი აპისთვის. მიუხედავად იმისა, რომ API ერთგული იყო Launcher3-ის მიმართ შინაგანად, 2020 წლის 21 ივლისს, როგორც ჩანს, ასე იყო გაერთიანდა AOSP სამაგისტრო ფილიალში Android R QPR1 გამოშვებით დეკემბერში.

API, რომელიც აიძულებს Nova Launcher-სა და Niagara Launcher-ს უფრო მეტად იგრძნონ თავი Google Pixel ტელეფონებზე.

კევინ ბარიმ, Nova Launcher-ის დეველოპერმა და ერთ-ერთმა პირველმა, ვინც შეამჩნია ეს API, გვითხრა, რომ მას ეჭვი აქვს მიზეზი, რის გამოც OEM-ები არ იყენებენ ამ API-ს Launcher3-ის თავიანთ ჩანგლებში, არის ის, რომ ის ცოტა გვიან გამოჩნდა Android 11-ის გამოშვებაში. ციკლი. AOSP-ის დიდი ცვლილებების შერწყმას საკმაოდ დიდი ძალისხმევა სჭირდება და Android R QPR1 განახლება ნამდვილად შეიცავს ბევრ მათგანს. გასულ წლებში ჩვენ ვუწოდებდით ამ კოდის წვეთებს "მომსახურების გათავისუფლებას", მაგრამ Google ამას ნამდვილად აღარ აკეთებს OEM-ების მხრიდან უკან დახევის შემდეგ (ანუ მე მსმენია). სწორედ ამიტომ LineageOS, პოპულარული Android Custom ROM, უწოდებს თავის უახლეს გამოშვებას "LineageOS 18.1" ვიდრე "LineageOS 18", რაც ნიშნავს, რომ ROM დაფუძნებულია უახლესი Android 11 კოდების ბაზაზე და არა თავდაპირველ Android 11 გამოშვებაზე.

აღსანიშნავია ისიც, რომ ეს API ხელმისაწვდომია მხოლოდ Google Pixel ტელეფონებზე ამის შემდეგ დეკემბერი Pixel Feature Drop, რომელიც ემთხვევა საჯარო Android R QPR1 გამოშვებას. და მიუხედავად იმისა, რომ Pixel 2 მიიღო საბოლოო განახლება დეკემბერში, ეს განახლება არ მოიცავდა Android R QPR1 კოდების ბაზას, რის გამოც Pixel 2-ის მფლობელებს, რომლებიც მუშაობენ Nova Launcher v7-ზე, არ აქვთ იგივე გამოცდილება, რაც სხვა Pixel-ებს. (Pixel 2-ის მფლობელებს შეუძლიათ გვერდით ჩატვირთონ Pixel Launcher-ის უფრო ახალი ვერსია, რომელსაც აქვს API უახლესი Pixel მოწყობილობისგან, მაგრამ მომხმარებლის მოხსენებები მიუთითებს ანიმაცია მაინც ბუგირებულია, მაშინაც კი, თუ ის დროდადრო მუშაობს. შეგახსენებთ, რომ Pixel Launcher აგებულია Launcher3-ის თავზე, ისევე როგორც საფონდო გამშვებების უმეტესობა, მაგრამ ის ასევე შეიცავს Pixel-ის ექსკლუზიურ ფუნქციებს.)

რა დასჭირდება ამ API-ს სხვა Android მოწყობილობებზე დასამატებლად? სამწუხაროდ, ამაზე მარტივი პასუხი არ არსებობს, რადგან ჩვენ ზუსტად არ ვიცით, როგორ ავითარებს თითოეული OEM გაშვების აპლიკაციას. იმის გათვალისწინებით, თუ როგორ Google მკაცრად აკონტროლებს ჟესტებით ნავიგაციას მთელ ეკრანზე, ჩვენ ეჭვი გვაქვს, რომ OEM-ების უმეტესობა დიდად არ ცვლის კოდს, რომელიც დაკავშირებულია ჟესტებთან და/ან QuickStep-თან. გარდა იმ შემთხვევისა, როდესაც OEM არ ახერხებს აღადგინოს ვალდებულება, დაარღვიოს კოდი ან უარი თქვას განახლებაზე Launcher3, მაშინ ჩვენ უნდა დავინახოთ, რომ ეს API დაემატება OEM გამშვებებს, როდესაც ისინი ხელახლა დაფუძნდებიან ზევით. მომავალი Android 12 გათავისუფლება. სინამდვილეში, ერთ-ერთმა OEM-მა, რომელსაც ჩვენ ვესაუბრეთ, ASUS-მა, გვითხრა, რომ ისინი აპირებენ ამ API-ს შემოტანას Android 12 განახლებაში. ჩვენ არ ვიცით, Google-მა შეატყობინა თუ არა ეს ცვლილება OEM-ებს, მაგრამ ვიმედოვნებთ, რომ უფრო მეტი OEM გაითვალისწინებს ამ ცვლილებას და გადაწყვიტეთ API-ის ჩართვა Launcher3-ის მათ ჩანგლებში მესამე მხარის გამოყენების გამოცდილების გასაუმჯობესებლად გამშვებები.

თუმცა სამუშაო ამით არ დასრულდება. ამ API-ს ჩართვის შემდეგაც კი, კიდევ მეტი სამუშაოა გასაკეთებელი მესამე მხარის გამშვებებსა და OEM გამშვებებს შორის თანასწორობის მისაღწევად. მაგალითად, ზოგიერთი OEM მოწყობილობა ციმციმებს, როდესაც მომხმარებელი შეეხება ეკრანს, სანამ მთავარ ეკრანზე ანიმაცია გამოჩნდება. ზოგჯერ, მესამე მხარის არჩეული გამშვები აპლიკაციის ნაცვლად ჩნდება სისტემის გამშვები აპი (ეს რამდენჯერმე შემემთხვა). გაუმჯობესებული გარდამავალი ანიმაცია კარგია, მაგრამ არავის სურს გაუმკლავდეს შეცდომებს არც გამშვებ აპში და არც ბოლო აპების ეკრანზე, ამიტომ ჟესტების კოდის კადრებს გარკვეული გასუფთავება და/ან სტანდარტიზაცია სჭირდება.

მადლობა კევინ ბარის და პიტერ ჰაბერს ამ სტატიაში გაწეული დახმარებისთვის!