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 представляє:

  • Довіра та безпека
    • Сучасна поведінка файлів cookie SameSite у WebView
    • Обмежений MAC Netlink
    • Більш безпечний експорт компонентів
    • Безпечніше поводження з намірами
  • Інструменти покращення взаємодії з користувачем
    • Сумісне перекодування медіа
    • Підтримка зображень AVIF
    • Оптимізація основного сервісу
    • Вставка багатого вмісту
    • Тактильний аудіоефект
    • Багатоканальний звук
    • Покращення режиму занурення для навігації жестами
    • Оновлення інтерфейсу користувача сповіщень
    • Швидші та чуйніші сповіщення
    • Покращено виклики Binder IPC
  • Сумісність програм
    • Оновлення системи Project Mainline/Google Play: ART тощо
    • Оптимізація для планшетів, складних пристроїв, телевізорів
    • Оновлені списки не-SDK інтерфейсів
    • Полегшене тестування та налагодження змін
    • Віха стабільності платформи
  • Як завантажити і Як встановити Android 12 Попередній перегляд розробника 1

Google сподівається надати користувачам більше прозорості та контролю, зберігаючи при цьому безпеку пристроїв Android. В Android 12 з’явилися нові засоби керування ідентифікаторами, які можна використовувати для відстеження, безпечніші параметри за замовчуванням для компонентів програми тощо.

Сучасна поведінка файлів cookie SameSite у WebView

WebView оновлюється, щоб привести його у відповідність зміни в Google Chrome та інших браузерах щодо поведінки файлів cookie SameSite. Це забезпечить додаткову безпеку та конфіденційність, а також дасть користувачам більше прозорості та контролю над тим, як файли cookie можна використовувати на різних сайтах.

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

Більш безпечний експорт компонентів

Програми в попередніх версіях Android можуть ненавмисно експортувати дії, служби та приймачі. Google змінює стандартну обробку андроїд; експортований бути більш чітким в Android 12. В Android 12 компоненти, які декларують один або кілька фільтрів намірів, тепер мають явно декларувати андроїд; експортований атрибут. 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 30 кадрів в секунду.

Розробники можуть увімкнути послугу перекодування, просто оголосивши медіаформати, які їхня програма не підтримує. Google наполегливо рекомендує, щоб програми підтримували HEVC в першу чергу, але якщо це неможливо, розробник повинен увімкнути сумісне транскодування медіа. Ця функція буде активна на всіх пристроях, які використовують формат HEVC для запису відео.

Підтримка зображень AVIF

Android 12 представляє підтримку платформи для формату файлу зображень AV1, що забезпечує вищу якість зображення з ефективнішим стисненням. AVIF — це формат контейнера для зображень і послідовностей зображень, закодованих за допомогою AV1. AVIF використовує переваги внутрішньокадрового кодування вмісту зі стиснення відео, значно покращуючи якість зображення для того самого розміру файлу порівняно зі старими форматами зображень, такими як JPEG.

Зліва: AVIF (18,2 КБ). Справа: JPEG (20,7 КБ). Кредити: Порівняння зображень з AVIF приземлився Джейк Арчібальд

Оптимізація основного сервісу

Служба переднього плану — це служба, яка виконує певну операцію, помітну для користувача, як-от аудіопрограма, яка відтворює аудіодоріжку та, таким чином, використовує службу переднього плану. Ці служби є важливим способом для додатків керувати певними типами завдань, які постають перед користувачем. Але якщо їх надмірно використовувати, це може вплинути на продуктивність і навіть призвести до закриття програми.

Посилаючись на покращення взаємодії з користувачем, Google блокуватиме запуск основного сервісу у фоновому режимі для програм, які націлені на нову платформу. А щоб полегшити розробникам перехід від цього початкового шаблону, Android 12 представляє нову прискорену роботу в JobScheduler, який отримує підвищений пріоритет процесу, доступ до мережі та запускається негайно, незалежно від обмежень живлення, таких як батарея Saver або Doze. Для зворотної сумісності Google також вбудовано прискорені завдання в останній випуск бібліотеки Jetpack WorkManager. Крім того, Google також затримує відображення деяких службових сповіщень на передньому плані до 10 секунд. Це дає короткочасні завдання шанс завершити до того, як з’являться сповіщення про них, зменшуючи відволікання користувачів.

Вставка багатого вмісту

Ми давно переступили межу, коли наше спілкування по телефону покладалося лише на простий голос і текст. Більшість комунікацій у наші дні є неповними без супровідних зображень (читай: мемів), відео та іншого виразного вмісту (читай: реакції gif). Однак вставляти та переміщувати ці багаті типи вмісту всередині та між програмами нелегко.

Щоб спростити додаткам отримання насиченого вмісту, Google представляє новий уніфікований API, який дозволяє приймати вміст із будь-якого джерела: буфера обміну, клавіатури чи перетягування. Розробники можуть приєднати новий інтерфейс під назвою OnReceiveContentListener до компонентів інтерфейсу користувача та отримати зворотний виклик, коли вміст вставляється через будь-який механізм. Таким чином, цей зворотній виклик стає єдиним місцем для коду програми, який обробляє вставку всіх типи вмісту, будь то простий текст, стилізований текст, розмітка, зображення, відео чи аудіофайли, а також поза межами.

Для зворотної сумісності Google додав уніфікований API до Androidx.

Тактильний аудіоефект

В Android 12 програми можуть надавати тактильний зворотний зв’язок зі звуком через вібратор телефону. Крім того, сила та частота вібрації вираховуються з аудіосеансу, що дозволяє розробникам створювати більш захоплюючу гру та звук. Наприклад, програми для дзвінків можуть використовувати власні мелодії для ідентифікації абонентів за допомогою тактильного зворотного зв’язку, а ігри можуть імітувати пересічену місцевість у гоночних іграх. Тут є чимало можливостей для вивчення.

Багатоканальне аудіо

Android 12 містить кілька вдосконалень для аудіо з просторовою інформацією. Це додає підтримку для MPEG-H відтворення в наскрізному режимі та режимі розвантаження. Аудіомікшери, ресемплери та ефекти оптимізовано для 24 каналів (попередній максимум становив 8 на Android 11).

Покращення режиму занурення для навігації жестами

Android 12 приносить зміни, які на перший погляд здаються дуже важливими. У повноекранному або захоплюючому додатку Android 12 за замовчуванням дозволить користувачам переміщатися по телефону одним пальцем. ОС все одно захищатиме програми від випадкових жестів у повноекранному режимі. Ми візьмемо в руки Developer Preview, щоб з’ясувати, що саме змінилося, оскільки формулювання не повністю відповідає зміні.

Оновлення інтерфейсу користувача сповіщень

Як ви, можливо, вже помітили в витік скріншотів Android 12, сповіщення будуть дещо оновлені, щоб зробити їх сучаснішими, зручнішими та функціональнішими. Google зазначає, що є зміни від ящика та елементів керування до самих шаблонів. Переходи й анімації також оптимізовано, щоб зробити їх плавнішими. Додатки, націлені на Android 12, також матимуть доступ до сповіщень із спеціальним вмістом із значком та іншими змінами, щоб відповідати всім іншим сповіщенням. Ми уважніше розглянемо зміни в наших практичних заходах.

Швидші та чуйніші сповіщення

Сповіщення мають пропонувати чіткий і швидкий шлях до певного розділу програми. З цієї причини розробники повинні переконатися, що натискання сповіщень запускають активність безпосередньо, а не за допомогою проміжний широкомовний приймач або служба для запуску дії (підхід, який Google називає сповіщенням батут). Батути сповіщень можуть спричинити значні затримки та вплинути на роботу користувача, а отже, на Android 12 заблокує ці батути сповіщень, не дозволяючи їм запускати свою ціль Діяльності. Google просить розробників відмовитися від такої практики. Ця зміна стосується лише додатків, орієнтованих на нову платформу, але для всіх додатків Google відображатиме тост, щоб батути були видимі розробнику та користувачам.

Покращено виклики Binder IPC

Google зосередився на зменшенні мінливості системи шляхом оптимізації затримки та розподілу робочого навантаження, що зменшує медіану досвіду для 99% процентильних випадків використання. Це призвело до вдосконалення викликів системного прив’язування, додавання легких стратегій кешування та зосередження на усуненні конфлікту блокувань для покращення розподілу затримок. Google стверджує, що це призвело до приблизно 2-кратного збільшення продуктивності викликів Binder загалом із значними покращеннями в окремих викликах, таких як refContentProvider() (47-кратне покращення), releaseWakeLock() (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.