Android 12 е тук с първия си преглед за разработчици и много промени за разработчиците

click fraud protection

Android 12 Developer Preview 1 е тук, носейки много промени, за които разработчиците на приложения да внимават и да адаптират своите приложения. Прочетете!

Операционната система Android съществува от години и се превърна в доминиращата операционна система за мобилни устройства. Докато Android като платформа определено е узрял през годините, винаги има място за подобрение. И ще го подобри, тъй като Google сега пуска първата версия на следващото си надграждане, Android 12. Android 12 Developer Preview 1 е тук и носи промени, които правят Android по-интуитивен, по-добре работещ и по-сигурен.

Преди да продължим, ето нещо, което се нуждае от повторение: Тази визуализация за разработчици, както подсказва името, е предназначена само за разработчици, за да могат да изпробват предстоящата операционна система и да тестват своите приложения, за да се адаптират към промените, които са въведени. Това означава, че това е много груба версия на операционната система, както е предвидено, но Google ще я усъвършенства с обратна връзка от разработчиците през следващите няколко месеца. Ако сте обикновен потребител, актуализацията на Android 12 за вас ще пристигне не по-рано от втората половина на годината. Дотогава ви препоръчваме да стоите далеч от флашването на компилациите на телефона си и просто да прочетете нашето покритие, за да сте в течение за всички промени, идващи в Android!

Android 12 се изгражда с наемателите на поверителност, по-добро потребителско изживяване и по-добра производителност, като неговият Developer Preview 1 представя:

  • Доверие и безопасност
    • Съвременно поведение на бисквитките SameSite в WebView
    • Ограничен MAC за Netlink
    • По-безопасен износ на компоненти
    • По-безопасно боравене с намерения
  • Инструменти за по-добро потребителско изживяване
    • Съвместимо медийно транскодиране
    • Поддръжка на AVIF изображения
    • Оптимизации на услугите на преден план
    • Вмъкване на богато съдържание
    • Хаптично свързан аудио ефект
    • Многоканално аудио
    • Подобрения в режима на потапяне за навигация с жестове
    • Актуализации на потребителския интерфейс за известия
    • По-бързи и по-отзивчиви известия
    • Подобрени Binder IPC повиквания
  • Съвместимост на приложението
    • Project Mainline / Системни актуализации на Google Play: ART и др
    • Оптимизиране за таблети, сгъваеми устройства, телевизори
    • Актуализирани списъци с интерфейси, различни от SDK
    • По-лесно тестване и отстраняване на грешки при промени
    • Важен етап в стабилността на платформата
  • Как да изтеглите и Как да инсталирате Android 12 Визуализация за разработчици 1

Google се надява да даде на потребителите повече прозрачност и контрол, като същевременно поддържа устройствата с Android защитени. Android 12 носи нови контроли върху идентификатори, които могат да се използват за проследяване, по-безопасни настройки по подразбиране за компоненти на приложението и др.

Съвременно поведение на бисквитките SameSite в WebView

WebView се актуализира, за да го приведе в съответствие с промени в Google Chrome и други браузъри по отношение на поведението на бисквитките SameSite. Това ще осигури допълнителна сигурност и поверителност и ще даде на потребителите повече прозрачност и контрол върху това как бисквитките могат да се използват в сайтовете.

Google иска разработчиците да мигрират към защитаващи поверителността идентификатори с възможност за нулиране. За тази цел, той е приел усилия за множество издания, за да улесни миграцията на Netlink MAC с обхват на устройството. Android 11 ограничи достъпа до Netlink MAC с обхват на устройството до API ниво 30, а в Android 12 ограничението се прилага за всички приложения, независимо от нивото на targetSDK.

По-безопасен износ на компоненти

Приложенията на предишни версии на Android могат неволно да експортират дейности, услуги и приемници. Google променя обработката по подразбиране на android; изнесени атрибут, за да бъде по-ясен в Android 12. С Android 12 компонентите, които декларират един или повече филтри за намерения, вече трябва изрично да декларират android; изнесени атрибут. Google съветва разработчиците да проверяват своите компоненти в манифеста, за да избегнат грешки при инсталиране, свързани с промяната.

По-безопасно боравене с намерения

Android 12 също изисква приложенията изрично да декларират флаг за промяна FLAG_MUTABLE или новото FLAG_IMMUTABLE, за всяко PendingIntent. Това трябва да направи обработката на PendingIntents по-сигурна.


Никоя актуализация не е завършена без още подобрения на потребителското изживяване и Android 12 не е по-различен.

Повечето мобилни устройства в днешно време идват с хардуерно кодиране H.265 / HEVC, което позволява на приложенията на камерата да улавяне във формат HEVC, тъй като предлага значителни подобрения в качеството и компресията спрямо по-старите кодеци. Повечето приложения поддържат HEVC, но все още има няколко, които не го поддържат. За тези приложения Google въвежда съвместимо мултимедийно транскодиране с Android 12.

С тази функция приложение, което не поддържа HEVC, може да накара платформата автоматично да прекодира файла в H.264 / AVC, формат, който вижда много по-широка съвместимост. Както може да се очаква, процесът на транскодиране ще отнеме известно време в зависимост от видеото и хардуерните характеристики на смартфона. Google дава пример за Pixel 4 (Snapdragon 855), който отнема около 9 секунди, за да транскодира 1-минутен 1080p 30fps видеоклип.

Разработчиците могат да се включат да използват услугата за транскодиране, като просто декларират медийните формати, които приложението им не поддържа. Google силно препоръчва приложенията да поддържат HEVC на първо място, но ако това не е възможно, тогава разработчикът трябва да активира съвместимо медийно транскодиране. Функцията ще бъде активна на всички устройства, използващи HEVC формат за заснемане на видео.

Поддръжка на AVIF изображения

Android 12 въвежда поддръжка на платформа за AV1 Image File Format, което позволява по-високо качество на изображението с по-ефективна компресия. AVIF е формат на контейнер за изображения и поредици от изображения, кодирани с помощта на AV1. AVIF се възползва от вътрешнокадровото кодирано съдържание от видео компресията, подобрявайки драматично качеството на изображението за същия размер на файла в сравнение с по-старите формати на изображения като JPEG.

Отляво: AVIF (18,2kB). Вдясно: JPEG (20,7kB). Кредити: Сравнение на изображения от AVIF е кацнал от Джейк Арчибалд

Оптимизации на услугите на преден план

Услуга на преден план е услуга, която извършва някаква операция, която е забележима за потребителя, като аудио приложение, което възпроизвежда аудио запис и по този начин използва услуга на преден план. Тези услуги са важен начин за приложенията да управляват определени типове задачи, пред които са изправени потребителите. Но когато се използват прекомерно, това може да повлияе на производителността и дори да доведе до спиране на приложението.

Позовавайки се на подобренията на потребителското изживяване, Google ще блокира стартирането на услугата на преден план от заден план за приложения, които са насочени към новата платформа. И за да улесни разработчиците да се откажат от този стартов модел, Android 12 въвежда нова ускорена работа в JobScheduler, който получава повишен приоритет на процеса, достъп до мрежата и стартира незабавно, независимо от ограниченията на захранването като батерията Saver или Doze. За обратна съвместимост Google също е вградил ускорени задания в най-новата версия на библиотеката Jetpack WorkManager. Освен това Google също забавя показването на някои известия за услуги на преден план с до 10 секунди. Това дава шанс на краткотрайните задачи да бъдат изпълнени, преди да се покажат техните известия, намалявайки разсейването на потребителите.

Вмъкване на богато съдържание

Отдавна сме преминали точката, в която комуникацията ни по телефони разчита само на обикновен глас и текст. По-голямата част от комуникацията в наши дни е непълна без придружаващи изображения (да се чете: мемове), видеоклипове и друго изразително съдържание (да се чете: gifs за реакция). Въпреки това, вмъкването и преместването на тези богати типове съдържание в и между приложенията не е лесно.

За да улесни приложенията да получават богато съдържание, Google въвежда нов унифициран API, който им позволява да приемат съдържание от всеки източник: клипборд, клавиатура или плъзгане и пускане. Разработчиците могат да прикачат нов интерфейс, наречен OnReceiveContentListener към компоненти на потребителския интерфейс и да получите обратно извикване, когато съдържанието е вмъкнато чрез някакъв механизъм. Следователно това обратно извикване става единственото място за кода на приложението, което да обработва вмъкването на всички видове съдържание, независимо дали е обикновен текст, стилизиран текст, маркиране, изображения, видео или аудио файлове и отвъд.

За обратна съвместимост Google добави унифицирания API към Androidx.

Хаптично свързан аудио ефект

В Android 12 приложенията могат да осигурят аудио-свързана хаптична обратна връзка чрез вибратора на телефона. Освен това силата и честотата на вибрациите се извличат от аудио сесия, което позволява на разработчиците да създадат по-завладяваща игра и аудио изживяване. Например, приложенията за обаждане може би могат да използват персонализирани мелодии, за да идентифицират обаждащите се чрез хаптична обратна връзка, а игрите могат да симулират неравен терен в състезателна игра. Тук има доста възможности за изследване.

Многоканално аудио

Android 12 включва няколко подобрения за аудио с пространствена информация. Добавя поддръжка за MPEG-H възпроизвеждане в режим на преминаване и разтоварване. Аудио миксерите, ресемплерите и ефектите са оптимизирани за до 24 канала (предишният максимум беше 8 на Android 11).

Подобрения в режима на потапяне за навигация с жестове

Android 12 носи промяна, която звучи много важна на пръв поглед. При изживяване на цял екран или завладяващо приложение, Android 12 ще позволи на потребителите да навигират в телефоните си с едно плъзгане по подразбиране. Операционната система все още ще защитава приложенията от случайни жестове в тези изживявания на цял екран. Ще се сдобием с предварителния преглед за разработчици, за да разберем какво точно се е променило, тъй като формулировката не отговаря напълно на промяната.

Актуализации на потребителския интерфейс за известия

Както може би вече сте забелязали в изтекоха екранни снимки на Android 12, известията ще получат малко подобрение, за да станат по-модерни, по-лесни за използване и по-функционални. Google споменава, че има промени от чекмеджето и контролите в самите шаблони. Преходите и анимациите също се оптимизират, за да станат по-плавни. Приложенията, които са насочени към Android 12, също ще имат достъп до известия с персонализирано съдържание с икона и други промени, за да съответстват на всички други известия. Ще разгледаме по-отблизо промените в нашата практическа работа.

По-бързи и по-отзивчиви известия

Известията трябва да предлагат ясен и бърз път за достигане до определена секция в приложението. Поради тази причина разработчиците трябва да гарантират, че докосванията на известията задействат директно стартиране на дейността, вместо да използват междинен излъчващ приемник или услуга за стартиране на дейността (подход, който Google нарича Известие батут). Батутите за уведомяване могат да причинят значителни забавяния и да повлияят на потребителското изживяване, а оттам и на Android 12 ще блокира тези батути за уведомяване, като им попречи да изстрелят целта си дейности. Google моли разработчиците да се откажат от подобна практика. Тази промяна се отнася само за приложения, насочени към новата платформа, но за всички приложения Google ще покаже тост, за да направи батутите видими за програмиста и потребителите.

Подобрени Binder IPC повиквания

Google се съсредоточи върху намаляването на променливостта на системата, като направи оптимизации на латентността и разпределението на работното натоварване, които намаляват средното изживяване за 99% процентни случаи на употреба. Това доведе до подобрения в извикванията на системно свързване, добавяне на олекотени стратегии за кеширане и фокусиране върху премахването на конкуренцията за заключване, за да се подобри разпределението на латентността. Google твърди, че това е довело до около 2 пъти увеличение на производителността на обажданията на Binder като цяло, със значителни подобрения в конкретни повиквания, като напр. refContentProvider() (47 пъти подобрение), освобождаване на WakeLock() (15 пъти подобрение) и JobScheduler.schedule() (7,9 пъти подобрение).


Съвместимост на приложения в Android 12

В този раздел Google говори за по-бързи и гладки актуализации както за разработчиците, така и за потребителите. Промените, насочени към приложенията, се правят при включване, за да се даде на разработчиците повече време да се адаптират към новата платформа.

Project Mainline / Системни актуализации на Google Play: ART и др

Като разбрахме самата миналата година, Google прехвърля ART в модул Project Mainline. Това ще позволи на Google да подобри производителността и коректността по време на изпълнение, да управлява ядрото на паметта по-ефективно и да направи операциите на Kotlin по-бързи - всичко това без да се изисква пълна актуализация на системата.

Освен това, някои от функциите, споменати в тази новина, също се доставят чрез Project Mainline. Например, функцията за безпроблемно транскодиране се доставя чрез актуализиращ се модул, което показва, че това може да е бъдещето за Android.

Оптимизиране за таблети, сгъваеми устройства и телевизори

Google също така пуска първата предварителна версия на Android 12 за Android TV. С това не само получавате най-новите функции на Android на телевизора, но и можете да тествате с новите Google TV опит.

Актуализирани списъци с интерфейси, различни от SDK

С тази версия Google има ограничени допълнителни не-SDK интерфейси.

По-лесно тестване и отстраняване на грешки при промени

Въведен с Android 11, Google позволява по-лесно тестване и отстраняване на грешки на промени чрез превключватели за включване за промени, представени индивидуално от Опции за разработчици или чрез ADB.

Важен етап в стабилността на платформата

Точно както миналата година, Google планира да достигне крайъгълния камък за стабилност на платформата за тази версия, за да позволи на разработчиците да имат конкретни познания относно крайните API на SDK/NDK и всички крайни вътрешни API и поведението на системата, насочена към приложенията, от които се нуждаят, за да подготвят своите приложение за. Google очаква да достигне стабилност на платформата Android 12 до август 2021 г.


Изтеглете и инсталирайте Android 12 Developer Preview 1

Можете лесно изтеглете най-новия Android 12 Developer Preview от връзките, присъстващи в нашата специална статия, която ще бъде актуализирана с връзки за изтегляне и за бъдещи версии.

Google официално пуска тази актуализация за предварителен преглед за разработчици за:

  • Pixel 5
  • Pixel 4a 5G
  • Pixel 4a
  • Pixel 4
  • Pixel 4 XL
  • Pixel 3a
  • Pixel 3a XL
  • Pixel 3
  • Pixel 3 XL

Освен това имаме налични са инструкции за инсталиране за Android 12 Developer Preview 1 за обичайни инсталационни маршрути като Recovery, ADB и Fastboot за гореспоменатите устройства Pixel и чрез GSI за всички други съвместими с Project Treble устройства.