| Fayl turi | APK |
|---|---|
| Versiya | Preview |
| Nashriyotchi | |
| Ishlab chiqarilish sanasi | 25-okt, 2017 |
| Qo'shilgan sana | 25-okt, 2017 |
| Os talablari | Android |
| Talablar | Only compatible with the Nexus 5X, Nexus 6P, Pixel C, Pixel, Pixel XL, Pixel 2, and Pixel 2 XL. |
| Jami yuklamalar | 1 002 |
| Yuklashlar haftasiga | 8 |
| Narx | Free |
Tavsif
Android O foydalanuvchilar va ishlab chiquvchilar uchun turli xil yangi xususiyatlar va imkoniyatlarni taqdim etadi. Ushbu hujjat ishlab chiquvchilar uchun nima yangiliklarni ta'kidlaydi.
Platforma oʻzgarishlari ilovalaringizga taʼsir qilishi mumkin boʻlgan hududlar haqida bilish uchun Android O xatti-harakatlaridagi oʻzgarishlarni koʻrib chiqing.
Neyron tarmoqlar API
Neyron Networks API (NNAPI) ilovalarni qurilmada mashinada oʻrganish operatsiyalari uchun apparat tezlashtirish imkonini beradi. API qurilmada model yaratish, kompilyatsiya qilish va bajarishni qo'llab-quvvatlaydi. Ilovalar odatda NNAPI dan bevosita foydalanmaydi; Buning o'rniga, NNAPI ishlab chiquvchilarga o'z modellarini o'rgatish va ularni Android qurilmalarida joylashtirish imkonini beruvchi mashina o'rganish kutubxonalari, ramkalar va asboblar tomonidan chaqirilishi kerak.
Neural Networks API haqida batafsil ma’lumot olish uchun Neural Networks API ma’lumotnoma hujjatlari va Neural Networks API dasturchi qo‘llanmasiga qarang.
Bildirishnomalar
Android 8.1 Developer Preview 1 bildirishnomalarga quyidagi o'zgarishlarni o'z ichiga oladi:
Ilovalar endi sekundiga bir marta bildirishnoma ovozini chiqarishi mumkin. Bu tezlikdan oshgan ogohlantirish tovushlari navbatga qo'yilmaydi va yo'qoladi. Bu oʻzgarish bildirishnoma harakatining boshqa jihatlariga taʼsir qilmaydi va bildirishnoma xabarlari kutilgandek joylashadi.
NotificationListenerService va ConditionProviderService funksiyalari ActivityManager.isLowRamDevice() chaqirilganda haqiqatni qaytaradigan kam quvvatli Android qurilmalarida qo‘llab-quvvatlanmaydi.
Kam RAMli qurilmalar uchun yaxshilangan maqsadli
Android 8.1 (API darajasi 27) Paket menejeriga ikkita yangi apparat xususiyati konstantalarini, FEATURE_RAM_LOW va FEATURE_RAM_NORMAL qo‘shadi. Ushbu konstantalar sizning ilovalaringiz va APK bo'linishlaringizni oddiy yoki past RAM qurilmalariga taqsimlashni maqsad qilish imkonini beradi.
Ushbu konstantalar Play do'koniga, ayniqsa, ma'lum bir qurilmaning imkoniyatlariga mos keladigan ilovalarni ajratib ko'rsatish orqali foydalanuvchi tajribasini yaxshilashga imkon beradi.
Avtomatik to'ldirish ramka yangilanishlari
Android 8.1 Developer Preview (API darajasi 27) ilovalaringizga kiritishingiz mumkin bo'lgan Avtomatik to'ldirish ramkasiga bir nechta yaxshilanishlarni taqdim etadi.
Developer Preview ma'lumotlarning asl ko'rinishi o'rniga Android tizimi avtomatik to'ldirishni saqlash interfeysida ko'rsatadigan maxsus tavsiflarni qo'llab-quvvatlaydi. Bu, masalan, kredit karta raqamini maskalash va faqat oxirgi to'rtta raqamni ko'rsatishni xohlaganingizda foydalidir. Qo'shimcha ma'lumot olish uchun CustomDescription sinfiga qarang.
Dasturchini oldindan koʻrish ilovangiz Android tizimi avtomatik toʻldirishni saqlash UI koʻrsatishi kerakligini hal qilishda foydalanishi mumkin boʻlgan Validator obyektini belgilash imkonini beradi. Bu funksiya SaveInfo.Builder sinfining setValidator() usuli bilan ta'minlanadi.
Developer Preview'dagi BaseAdapter klassi setAutofillOptions() usulini o'z ichiga oladi, bu sizga adapterdagi qiymatlarning qatorli ko'rinishlarini taqdim etish imkonini beradi. Bu o'z adapterlarida qiymatlarni dinamik ravishda yaratadigan spinner boshqaruvlari uchun foydalidir. Masalan, siz foydalanuvchilar kredit kartaning amal qilish muddatining bir qismi sifatida tanlashi mumkin bo'lgan yillar ro'yxatining qator ko'rinishini taqdim etish uchun thesetAutofillOptions() usulidan foydalanishingiz mumkin. Avtomatik to'ldirish xizmatlari ma'lumotlarni talab qiladigan ko'rinishlarni to'g'ri to'ldirish uchun string tasviridan foydalanishi mumkin.
Bundan tashqari, AutofillManager sinfi virtual tuzilmadagi ko'rinishning ko'rinishidagi o'zgarishlar haqida ramkani xabardor qilish uchun qo'ng'iroq qilishingiz mumkin bo'lgan notifyViewVisibilityChanged(View, int, boolean) usulini o'z ichiga oladi. Virtual bo'lmagan tuzilmalar uchun usulning ortiqcha yuklanishi ham mavjud. Biroq, virtual bo'lmagan tuzilmalar odatda sizdan ramkani aniq xabardor qilishingizni talab qilmaydi, chunki usul allaqachon View klassi tomonidan chaqirilgan.
EditText yangilanishi
API darajasi 27 dan boshlab EditText.getText() usuli Editable ni qaytaradi; ilgari u CharSequence ni qaytardi. Ushbu o'zgarish orqaga qarab mos keladi, chunki Editable CharSequence-ni qo'llaydi.
Tahrirlanadigan interfeys qimmatli qo'shimcha funksiyalarni taqdim etadi. Masalan, Editable ilovasi Spannable interfeysini ham qo'llaganligi sababli, siz EditText misolidagi tarkibga belgilashni qo'llashingiz mumkin.
Dasturli xavfsiz ko'rish harakatlari
Safe Browsing API’ning WebView ilovasidan foydalanish orqali ilovangiz WebView namunasi Google ma’lum tahdid sifatida tasniflangan URL manziliga o‘tishga urinayotganini aniqlay oladi. Odatiy bo'lib, WebView 1-rasmda ko'rsatilganidek, foydalanuvchini ma'lum tahdid haqida ogohlantiruvchi va URL manzilini baribir yuklash yoki xavfsiz bo'lgan oldingi sahifaga qaytish imkoniyatini beruvchi interstitsialni ko'rsatadi.
Android 8.1 Developer Preview-da ilovangiz ma'lum tahdidga qanday javob berishini dasturiy jihatdan belgilashingiz mumkin:
Ilovangiz Xavfsiz koʻrishga maʼlum tahdidlar haqida xabar beradimi yoki yoʻqligini nazorat qilishingiz mumkin.
Ilovangiz har safar Xavfsiz koʻrish maʼlum tahdid sifatida tasniflangan URL manziliga duch kelganida maʼlum bir amalni (masalan, xavfsizlikka qaytish) avtomatik ravishda bajarishini soʻrashingiz mumkin.
Eslatma: Ma'lum tahdidlardan optimal himoya qilish uchun WebView ob'ektining loadUrl() usulini ishga tushirishdan oldin Xavfsiz ko'rishni ishga tushirguncha kuting.
Video eskiz chiqarish
MediaMetadataRetriever sinfida yangi getScaledFrameAtTime() usuli mavjud boʻlib, u berilgan vaqt pozitsiyasi yaqinidagi freymni topadi va manba ramkasi bilan bir xil nisbatdagi bitmapni qaytaradi, lekin berilgan kenglik va balandlikdagi toʻrtburchakka sigʻish uchun masshtablangan. Bu videodan eskiz tasvirlarini yaratish uchun foydalidir.
Xotirani behuda sarflashi mumkin bo'lgan getFrameAtTime() o'rniga ushbu usuldan foydalanishni tavsiya etamiz, chunki u manba video bilan bir xil o'lchamdagi bitmapni qaytaradi. Misol uchun, 4K videodan olingan ramka 16 MB bitmap bo'ladi, bu sizga eskiz tasviri uchun kerak bo'lganidan ancha katta.
Umumiy xotira API
Android 8.1 (API darajasi 27) yangi SharedMemory sinfini taqdim etadi. Ushbu sinf sizga bir nechta jarayonlar yoki ilovalar tomonidan ishlatilishi mumkin bo'lgan anonim umumiy xotirani yaratish, xaritalash va boshqarish imkonini beradi.
WallpaperColors API
Android 8.1 Developer Preview (API darajasi 27) fon rasmi ranglarini boshqarish uchun yordam beradi. Bu xususiyat sizga bitmapdan, chizilgan rasmdan yoki birinchi uchta eng koʻp ifodalangan rangdan foydalanib WallpaperColors obyektini yaratish imkonini beradi. Shuningdek, siz devor qog'ozining dastlabki uchta sezilarli rangining tafsilotlarini olishingiz mumkin.
WallpaperColors obyektini yaratish uchun quyidagilardan birini bajaring:
Uch rangdan foydalangan holda WallpaperColors ob'ektini yaratish uchun asosiy, ikkilamchi va uchinchi darajali ranglarni o'tkazish orqali WallpaperColors sinfining namunasini yarating. Asosiy rang null bo'lmasligi kerak.
Bitmapdan WallpaperColors obyektini yaratish uchun bitmap manbasini parametr sifatida uzatish orqali fromBitmap() usulini chaqiring.
Chizma rasmidan WallpaperColors ob'ektini yaratish uchun chiziladigan manbani parametr sifatida uzatish orqali fromDrawable() usulini chaqiring.
Fon rasmidan asosiy, ikkilamchi yoki uchinchi rang tafsilotlarini olish uchun quyidagi usullarni chaqiring:
getPrimaryColor() fon rasmining eng sezilarli rangini qaytaradi.
getSecondaryColor() fon rasmi ikkinchi eng mashhur rangini qaytaradi.
getTertiaryColor() usuli fon rasmi uchinchi eng ko'zga ko'ringan rangini qaytaradi
Tizimni har qanday muhim rang o'zgarishlari haqida xabardor qilish uchun notifyColorsChanged() usulini chaqiring. Bu usul onComputeColors()hayot tsikli hodisasini ishga tushiradi, bunda siz yangi WallpaperColors obyektini taqdim etish imkoniyatiga egasiz.
Rangni o'zgartirish uchun tinglovchini qo'shish uchun addOnColorsChangedListener() usulini chaqirishingiz mumkin. Fon rasmi asosiy ranglarini olish uchun getWallpaperColors() usulini ham chaqirishingiz mumkin.
Barmoq izlari yangilanishi
FingerprintManager klassi quyidagi xato kodlarini kiritdi:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - Foydalanuvchi barmoq izini o'qish qurilmasi yordamida qurilmasini qulfdan chiqarishga juda ko'p marta urinib ko'rdi.
FINGERPRINT_ERROR_VENDOR - sotuvchiga xos barmoq izini o'qish qurilmasida xatolik yuz berdi.