| Failo tipas | APK |
|---|---|
| Versija | Preview |
| Leidėjas | |
| Išleidimo data | 2017-10-25 |
| Data pridėta | 2017-10-25 |
| OS reikalavimai | Android |
| Reikalavimai | Only compatible with the Nexus 5X, Nexus 6P, Pixel C, Pixel, Pixel XL, Pixel 2, and Pixel 2 XL. |
| Iš viso atsisiuntimų | 1 002 |
| Atsisiuntimai per savaitę | 8 |
| Kaina | Free |
apibūdinimas
„Android O“ vartotojams ir kūrėjams pristato daugybę naujų funkcijų ir galimybių. Šiame dokumente pabrėžiama, kas naujo kūrėjams.
Būtinai peržiūrėkite Android O elgesio pakeitimus, kad sužinotumėte apie sritis, kuriose platformos pakeitimai gali turėti įtakos jūsų programoms.
Neuroninių tinklų API
Neuroninių tinklų API (NNAPI) teikia programoms su aparatinės įrangos pagreitinimu, skirtu įrenginio mašininio mokymosi operacijoms. API palaiko įrenginio modelio kūrimą, kompiliavimą ir vykdymą. Programos paprastai nenaudoja NNAPI tiesiogiai; Vietoj to, NNAPI turi vadintis mašininio mokymosi bibliotekos, sistemos ir įrankiai, leidžiantys kūrėjams mokyti savo modelius ir įdiegti juos „Android“ įrenginiuose.
Norėdami sužinoti daugiau apie neuronų tinklų API, žr. Neuroninių tinklų API informacinius dokumentus ir Neuroninių tinklų API kūrėjo vadovą.
Pranešimai
„Android 8.1 Developer Preview 1“ apima šiuos pranešimų pakeitimus:
Dabar programos gali tik kartą per sekundę leisti įspėjimo garsą. Įspėjimų garsai, kurie viršija šį dažnį, neįtraukiami į eilę ir prarandami. Šis pakeitimas neturi įtakos kitiems pranešimų veikimo aspektams, o pranešimų pranešimai vis tiek skelbiami, kaip tikėtasi.
„NotificationListenerService“ ir „ConditionProviderService“ nepalaikomi mažai RAM turinčiuose „Android“ įrenginiuose, kurie grąžina „true“, kai iškviečiamas ActivityManager.isLowRamDevice().
Patobulintas taikymas mažai RAM turintiems įrenginiams
„Android 8.1“ (27 API lygis) prie paketų tvarkytuvės prideda dvi naujas aparatinės įrangos funkcijų konstantas – FEATURE_RAM_LOW ir FEATURE_RAM_NORMAL. Šios konstantos leidžia nukreipti programas ir APK skaidymus į įprastus arba mažai RAM turinčius įrenginius.
Šios konstantos leidžia „Play“ parduotuvei skatinti geresnę naudotojo patirtį, paryškinant programas, ypač tinkančias tam tikro įrenginio galimybėms.
Automatinio užpildymo sistemos atnaujinimai
„Android 8.1“ kūrėjo peržiūra (27 API lygis) suteikia keletą automatinio pildymo sistemos patobulinimų, kuriuos galite įtraukti į savo programas.
Kūrėjo peržiūra prideda tinkintų aprašų, kuriuos „Android“ sistema rodo automatinio pildymo išsaugojimo vartotojo sąsajoje, palaikymą, o ne pradinį duomenų pateikimą. Tai naudinga, pavyzdžiui, kai norite užmaskuoti kredito kortelės numerį ir rodyti tik paskutinius keturis skaitmenis. Norėdami sužinoti daugiau, žr. CustomDescription klasę.
Kūrėjo peržiūra leidžia nurodyti patvirtinimo objektą, kurį programa gali naudoti, kad nuspręstų, ar „Android“ sistema turėtų rodyti automatinio užpildymo išsaugojimo vartotojo sąsają. Šią funkciją teikia SaveInfo.Builder klasės metodas setValidator().
„BaseAdapter“ klasė programoje „Developer Preview“ apima metodą setAutofillOptions(), kuris leidžia adapteryje pateikti reikšmių eilutes. Tai naudinga suktuko valdikliams, kurie dinamiškai generuoja reikšmes savo adapteriuose. Pavyzdžiui, galite naudoti metodą thesetAutofillOptions(), kad pateiktumėte metų, kuriuos vartotojai gali pasirinkti kaip kredito kortelės galiojimo pabaigos datos, sąrašo eilutę. Automatinio pildymo paslaugos gali naudoti eilutės atvaizdavimą, kad tinkamai užpildytų rodinius, kuriems reikalingi duomenys.
Be to, AutofillManager klasėje yra notifyViewVisibilityChanged(View, int, Boolean) metodas, kurį galite iškviesti, kad praneštumėte sistemai apie rodinio matomumo pokyčius virtualioje struktūroje. Taip pat yra per daug metodo, skirto ne virtualioms struktūroms. Tačiau nevirtualios struktūros paprastai nereikalauja, kad jūs aiškiai praneštumėte sistemai, nes metodas jau yra iškviestas peržiūros klasės.
EditText atnaujinimas
Pradedant nuo 27 API lygio, EditText.getText() metodas grąžina Editable; anksčiau jis grąžino CharSequence. Šis pakeitimas yra suderinamas atgal, nes Editable įgyvendina CharSequence.
Redaguojama sąsaja suteikia vertingų papildomų funkcijų. Pavyzdžiui, kadangi „Editable“ taip pat įgyvendina „Spannable“ sąsają, galite taikyti žymėjimą turiniui „EditText“ egzemplioriuje.
Programiniai saugaus naršymo veiksmai
Naudodama saugaus naršymo API WebView diegimą, programa gali aptikti, kada WebView egzempliorius bando pereiti į URL, kurį „Google“ priskyrė žinomai grėsmei. Pagal numatytuosius nustatymus „WebView“ rodo tarpinį puslapį, kaip parodyta 1 paveiksle, įspėjantį vartotoją apie žinomą grėsmę ir suteikiantį galimybę vis tiek įkelti URL arba grįžti į ankstesnį saugų puslapį.
8.1 versijos „Android“ kūrėjų peržiūroje galite programiškai apibrėžti, kaip programa reaguoja į žinomą grėsmę:
Galite valdyti, ar jūsų programa praneša apie žinomas grėsmes saugaus naršymo funkcijai.
Galite nustatyti, kad programa automatiškai atliktų tam tikrą veiksmą, pvz., grįžtų į saugą, kiekvieną kartą, kai ji aptinka URL, kurį Saugus naršymas klasifikuoja kaip žinomą grėsmę.
Pastaba: norėdami užtikrinti optimalią apsaugą nuo žinomų grėsmių, prieš iškviesdami WebView objekto metodą loadUrl() palaukite, kol inicijuosite saugų naršymą.
Vaizdo įrašo miniatiūrų ištraukiklis
„MediaMetadataRetriever“ klasėje yra naujas metodas getScaledFrameAtTime(), kuris suranda kadrą netoli tam tikros laiko padėties ir grąžina taškinę schemą, kurios formato santykis yra toks pat kaip ir šaltinio kadras, bet pakeistas, kad tilptų į nurodyto pločio ir aukščio stačiakampį. Tai naudinga kuriant vaizdo įrašo miniatiūras.
Rekomenduojame naudoti šį metodą, o ne getFrameAtTime(), kuris gali eikvoti atmintį, nes grąžina taškinį vaizdą, kurio skiriamoji geba yra tokia pati kaip ir šaltinio vaizdo įrašas. Pavyzdžiui, kadras iš 4K vaizdo įrašo būtų 16 MB bitų žemėlapis, daug didesnis, nei jums reikia vaizdo miniatiūrai.
Bendrinamos atminties API
Android 8.1 (API lygis 27) pristato naują SharedMemory klasę. Ši klasė leidžia kurti, susieti ir valdyti anoniminę bendrinamą atmintį, kurią gali naudoti keli procesai ar programos.
WallpaperColors API
„Android 8.1“ kūrėjo peržiūra (27 API lygis) palaiko ekrano fono spalvų valdymą. Ši funkcija leidžia sukurti WallpaperColors objektą iš taškinės schemos, piešimo arba naudojant pirmąsias tris vizualiai reprezentatyviausias spalvas. Taip pat galite gauti informaciją apie pirmąsias tris pastebimas ekrano užsklandos spalvas.
Norėdami sukurti WallpaperColors objektą, atlikite vieną iš šių veiksmų:
Norėdami sukurti WallpaperColors objektą naudodami tris spalvas, sukurkite WallpaperColors klasės egzempliorių perduodant pirminę, antrinę ir tretinę spalvą. Pagrindinė spalva neturi būti nulinė.
Norėdami sukurti „WallpaperColors“ objektą iš taškinės schemos, iškvieskite metodą fromBitmap() kaip parametrą perduodant bitmap šaltinį.
Norėdami sukurti WallpaperColors objektą iš piešimo, iškvieskite metodą fromDrawable() perduodami braižomą šaltinį kaip parametrą.
Norėdami iš ekrano užsklandos nuskaityti pirminės, antrinės arba tretinės spalvos detales, atlikite šiuos metodus:
getPrimaryColor() grąžina labiausiai pastebimą tapetų spalvą.
getSecondaryColor() grąžina antrą labiausiai ryškų tapetų spalvą.
Metodas getTertiaryColor() grąžina trečią ryškiausią tapetų spalvą
Norėdami pranešti sistemai apie bet kokius reikšmingus spalvų pokyčius, iškvieskite notifyColorsChanged() metodą. Šis metodas suaktyvina onComputeColors() gyvavimo ciklo įvykį, kuriame turite galimybę pateikti naują WallpaperColors objektą.
Norėdami pridėti spalvų keitimo klausytoją, galite iškviesti metodą addOnColorsChangedListener(). Taip pat galite iškviesti getWallpaperColors() metodą, kad gautumėte pagrindines ekrano fono spalvas.
Pirštų atspaudų atnaujinimai
„FingerprintManager“ klasė pristatė šiuos klaidų kodus:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT – vartotojas per daug kartų bandė atrakinti įrenginį naudodamas pirštų atspaudų skaitytuvą.
FINGERPRINT_ERROR_VENDOR – įvyko konkretaus pardavėjo pirštų atspaudų skaitytuvo klaida.