Google töötab masinõppemudelite kasutamise kallal, et ennustada, millal kasutaja soovib Android 12-s tagasipühkimist teha.
Google andis välja esimese arendaja eelvaate Android 12 teisel päeval ja oleme koodi kaevunud, et leida kõike, mis on uus. Üks põnevamaid muudatusi, mida oleme märganud, on Androidi tagasipühkimise žeste tuvastamise kapitaalremont. Rakenduse korral kasutab Android 12 masinõppemudeleid ennustada kui kasutaja kavatseb kasutada tagumist liigutust.
Android 10 käivitamisega Google tutvustati selle täisekraani žestidega navigatsioonisüsteem. Androidi liigutustega navigeerimissüsteem asetab ekraani allossa pilli, millega saate rakenduste vahel vahetamiseks, hiljutiste rakenduste liidese avamiseks või avakuvale minemiseks kasutada. Vahepeal asendati tagasinupp sissepoole pühkimise žestiga, mida saab käivitada ekraani vasakult või paremalt küljelt. Palju tinti on maha voolanud probleem Androidi tagumise žestiga, kuid Google'i kiituseks tuleb öelda, et nad on seda teinud muutis kogemuse järjepidevaks
kogu ökosüsteemis ja on pakutud API-d arendajatele, et tagada žestiga ühilduvus. Kuigi paljud rakendused on a Navigeerimissahtel, on endiselt palju rakendusi, mille tagumine liigutus võib olla vastuolus rakendusesisese kasutajaliidesega. Selle probleemi lahendamiseks katsetab Google Android 12-s uut masinõppepõhist lähenemist tagumise liigutuse tuvastamiseks.Kuidas Androidi seljažest praegu töötab, on järgmine. Nähtamatu päästikuala on peaaegu alati mõlemal pool ekraani. See päästikuala ulatub ekraani külgedelt 18-40 dp laiuselt, olenevalt kasutaja määratud seljatundlikkuse sättest. Kasutaja saab käivitada tagasiliigutuse, asetades lihtsalt sõrme suvalisele kohale sisendis ja liigutades seejärel sõrme sissepoole minimaalsest kaugusest mööda. Google kasutas tagumiste liigutuste kujundamisel telefoni ekraani soojuskaarte ja nad asusid elama tuvastusalad, mida kasutajad tunnevad ergonoomilistena ja ühe käega sõbralikena.
Liigutusega navigeerimine operatsioonisüsteemis Android 10+. Allikas: Google.
Probleem selle lähenemisviisiga, nagu Google ise tunnistavad, on see, et mõned kasutajad pühivad endiselt navigeerimissahtlite avamiseks, mis on vastuolus tagumise liigutusega. Iga rakendus on kujundatud erinevalt, kuid tagumise liigutuse päästiku ala ütleb siiski sama. See üks-suur kõigile sobilik lähenemine tagumise žestile ei sobi seega hästi mõne rakenduse kujundusega, mistõttu Google katsetab praeguse mudeli asendamiseks masinõppega.
Uurides Google'i tehtud muudatusi topeltpuudutuse tagasiliigutus operatsioonisüsteemis Android 12, XDA tunnustatud arendaja Quinny899 avastas uue TensorFlow Lite'i mudeli ja sõnafaili nimega "backgesture" olemasolu. Viimane sisaldab 43 000 paketinime loendit nii populaarsete kui ka ebaselgete Androidi rakenduste jaoks, sealhulgas 2 Quinny899 rakendust enda rakendused. Usume, et see loend sisaldab rakendusi, mille vastu Google oma masinõppemudelit koolitas – st. nad määrasid rakenduste kaupa kindlaks tagumise žesti kõige sagedasemad algus- ja lõpp-punktid. Süvenedes avastasime, et masinõppemudelile viidatakse Android 12 SystemUI värskendatud klassis EdgeBackGestureHandler. Kui funktsioonilipp on lubatud, siis tundub, et Android 12 kasutab ML-mudelit, et ennustada, kas kasutaja kavatses sooritada tagasiliigutuse või tahtis lihtsalt rakenduses navigeerida. ML-mudelile järelduste tegemiseks edastatavad andmed hõlmavad žesti algus- ja lõpp-punkti, seda, kas rakendus on loendis, ja kuva laiust pikslites. Teise võimalusena, kui funktsiooni lipp on keelatud, naaseb Android 12 lihtsalt tagasi tavalise tagasipühkimise tuvastamise meetodi juurde (st. sisetükid).
Praegu on ML-põhine tagasiliigutuse ennustamine Android 12 arendaja eelvaates 1 vaikimisi keelatud. Võimalik, et Google võib sellest lähenemisviisist loobuda, kui see ei ole olemasolevast sisendipõhisest mudelist parem. Kuid me ei tea kindlalt enne, kui Google paari kuu pärast Android 12 beetaversiooni avalikustab, kuna sel ajal avaldab Google tavaliselt oma suuremad muudatused Androidis.
Täname PNF tarkvara, et andis meile kasutuslitsentsi JEB dekompiler, professionaalse kvaliteediga pöördprojekteerimise tööriist Androidi rakenduste jaoks.