Випуск мобільної платформи Android 10

компанія Google опублікувала реліз відкритої мобільної платформи Android 10. Пов'язані з новим випуском вихідні тексти розміщені в Git-репозиторій проекту (гілка android-10.0.0_r1). Оновлення прошивки вже підготовлено для 8 пристроїв серії Pixel, у тому числі першої моделі Pixel. Також сформовані універсальні складання GSI (Generic System Images), придатні для різних пристроїв на базі архітектур ARM64 та x86_64. Найближчими місяцями оновлення з Android 10 будуть випущені для актуальних смартфонів таких компаній, як Sony Mobile, Xiaomi, Huawei, Nokia, Vivo, OPPO, OnePlus, ASUS, LG та Essential.

Основні нововведення:

  • Представлений проект Магістраль, що дозволяє оновлювати окремі системні компоненти без оновлення платформи. Подібні оновлення завантажуються через Google Play окремо від OTA-оновлень прошивки від виробника. Передбачається, що пряма доставка оновлень не прив'язаних до обладнання компонентів платформи дозволить суттєво скоротити час отримання оновлень, збільшити оперативність виправлення вразливостей та знизити залежність від виробників пристроїв у підтримці безпеки платформи. Модулі з оновленнями спочатку будуть поставлятися з відкритим кодом, будуть доступні в репозиторіях AOSP (Android Open Source Project) і зможуть включати поліпшення та виправлення, підготовлені сторонніми учасниками.

    Серед компонентів, які оновлюватимуться окремо: мультимедійні кодеки, мультимедійний фреймворк, DNS-резолвер, Conscrypt Java Security Provider, Documents UI, Permission Controller, ExtServices, дані часових поясів, КУТ (Прошарок для трансляції викликів OpenGL ES в OpenGL, Direct3D 9/11, Desktop GL і Vulkan), Module Metadata, мережеві компоненти, Captive Portal Login та налаштування мережного доступу. Оновлення системних компонентів поставляються у новому форматі пакетів APEXщо відрізняється від APK можливістю застосування на ранньому етапі завантаження системи. У разі можливих збоїв передбачено режим відкату змін;

  • На рівні системи реалізовано темна тема оформлення яка може застосовуватися для зниження втоми очей за недостатнього освітлення.
    Темна тема включається в налаштуваннях Settings > Display, через блок швидких налаштувань, що випадає, або при включенні режиму економії енергії. Темна тема застосовується як системи, так додатків, зокрема пропонуючи режим автоматичного перетворення на темні тони існуючих тем;

    Випуск мобільної платформи Android 10

  • Система автоматичних швидких відповідей, доступна раніше для повідомлень, тепер може застосовуватися для формування рекомендацій найбільш ймовірних дій у будь-яких додатках. Наприклад, при показі повідомлення із запрошенням на зустріч система запропонує швидкі відповіді зі згодою або відхиленням запрошення, а також покаже кнопку для перегляду місця зустрічі на карті. Варіанти вибираються із використанням системи машинного навчання на підставі вивчення особливостей роботи користувача;

    Випуск мобільної платформи Android 10

  • Надано більше інструментів для контролю доступу додатків до інформації про місцезнаходження користувача. Якщо раніше, у разі надання відповідних повноважень, програма могла отримати доступ до місцезнаходження в будь-який час, навіть коли воно неактивне (працює у фоні), то в новому випуску користувач може дозволити отримання інформації про його місцезнаходження лише у разі активності сеансу з додатком;

    Випуск мобільної платформи Android 10

  • Доданий режим батьківського контролю «Family Link», що дозволяє обмежити час роботи дітей з пристроєм, надавати бонусні хвилини за успіхи та досягнення, переглядати списки програм, що запускаються, і оцінювати скільки часу в них проводить дитина, рецензувати встановлювані програми та призначати нічний час для блокування доступу ночами ;

    Випуск мобільної платформи Android 10

  • Доданий «фокусний режим» (Focus Mode), що дозволяє на час, коли потрібно зосередитися на вирішенні якогось завдання, вибірково приглушити програми, що відволікають, наприклад, призупинити отримання пошти і новин, але залишити карти і месенджер. У поточних збірках функція поки що не активна;
  • Додано режим навігації жестами, що дозволяє використовувати для керування лише екранні жести без відображення навігаційної панелі та виділяючи весь екранний простір під контент. Наприклад, кнопки типу Back і Home замінюються на зсув від краю та ковзний торкання знизу вгору, для виклику списку запущених програм застосовується тривалий торкання екрана. Режим включається в налаштуваннях Settings > System > Gestures;
  • Додана функція «Live Caption», що дозволяє автоматично на льоту створювати субтитри під час перегляду будь-якого відео або прослуховування звукових записів, незалежно від програми. Розпізнавання мови здійснюється локально без звернення до зовнішніх сервісів. У поточних збірках функція поки що не активна;
  • Додано концепцію «бульбашок» для організації одночасної роботи з кількома додатками. Бульбашки дозволяють виконувати дії в інших програмах не залишаючи поточної програми. Крім того, бульбашки дають можливість закріплення доступу до функціональності певної програми у процесі виконання різних дій на пристрої. Наприклад, за допомогою бульбашок можна у формі кнопок, що відображаються поверх контенту, продовжувати бесіду в месенджері, швидко відправляти повідомлення, тримати на увазі список завдань, вести нотатки, звертатися до сервісів перекладу і отримувати наочні нагадування, паралельно з роботою в інших додатках. Бульбашки реалізовані поверх системи повідомлень і дозволяють використовувати аналогічний API.

    Випуск мобільної платформи Android 10

  • Додана підтримка пристроїв зі складними екранами, що згинаються, таких як Huawei Mate X. На кожній половинці складаного екрана тепер може розміщуватися окрема програма. Для підтримки нових типів екранів додано підтримку роздільної обробки множинних подій пробудження і зміни фокусу (коли одна половина екрану активна, а інша залишається закритою або коли обидві половинки активні), а також розширений API для обробки зміни розміру екрана (для того, щоб додаток коректно сприймав збільшення розміру екрана під час розкриття другої половини). У емулятор Android додана симуляція пристроїв зі екранами, що згинаються;
    Випуск мобільної платформи Android 10

  • Додана підтримка ярликів для надсилання даних та повідомлень (Sharing Shortcuts), що дозволяють швидко перейти в додаток, що здійснює надсилання;

    Випуск мобільної платформи Android 10

  • Додана підтримка спливаючих панелей з налаштуваннями, які дозволяють звернутися до ключових системних налаштувань у контексті програми користувача. Для відображення панелей налаштування з програми надається API Панель налаштувань. Наприклад, мультимедійний програвач може показати панель із системними налаштуваннями звуку, а браузер налаштування мережного підключення та переходу в режим польоту;

    Випуск мобільної платформи Android 10

    Безпека:

    • Додані додаткові обмеження доступу програм до спільно використовуваних файлів, таких як колекції фотографій, відео та музика;
    • Для доступу до завантажених файлів, розміщених у каталозі Downloads, додаток тепер обов'язково має використовувати системний діалог вибору файлу, який надає користувачеві повний контроль над тим, до яких файлів може звернутися додаток;
    • Блоковано можливість переходу додатків із фонового виконання в активний стан з виходом на передній план та отриманням фокусу введення, перериваючи таким чином роботу користувача з іншим додатком. При необхідності привернути увагу користувача фоновим додатком, наприклад, при вхідному дзвінку, тепер слід використовувати високопріоритетні повідомлення з отриманням повноважень на повноекранний висновок;
    • Обмежений доступ до незмінних ідентифікаторів пристрою, таких як IMEI та серійний номер. Для отримання подібних ідентифікаторів програма повинна мати привілеї READ_PRIVILEGED_PHONE_STATE.
      Додаткам також обмежений доступ до псевдо-ФС "/proc/net" зі статистикою мережевої активності, а доступ до даних у буфері обміну відтепер надається тільки коли програма активно (отримала фокус введення);

    • При віддачі списку контактів додатку припинено ранжування виводу частоти звернення до контактів для приховування від додатків інформації про переваги користувача;
    • За умовчанням включено рандомізацію MAC-адрес: при підключенні до різних бездротових мереж тепер генеруються різні MAC-адреси, що не дозволяє відстежувати переміщення користувача між WiFi-мережами;
    • Для доступу до API сканування мереж Bluetooth, стільникових мереж та Wi-Fi тепер потрібно отримання повноважень на отримання точних відомостей про місцезнаходження (раніше були потрібні повноваження на отримання приблизних відомостей про місцезнаходження). При цьому, якщо з'єднання встановлюється в режимі P2P або мережа для підключення визначається системою, окремі повноваження на доступ до інформації про місцезнаходження не потрібні;
    • Реалізовано підтримку технології захисту бездротових мереж WPA3, в якій надається захист від атак по підбору пароля (не дозволить підбирати пароль в offline-режимі) та задіяний протокол автентифікації SAE. Для генерації ключів шифрування у відкритих мережах додано підтримку процесу узгодження з'єднання, що реалізується розширенням OWE (Opportunistic Wireless Encryption);
    • Додана і включена за промовчанням для всіх з'єднань підтримка TLS 1.3. У тестах Google застосування TLS 1.3 дозволяє до 40% прискорити встановлення захищених з'єднань порівняно з TLS 1.2.
    • Представлено нове сховище Область зберігання, що надає рівень ізоляції для файлів програм. За допомогою цього API програма може створити на зовнішніх накопичувачах (наприклад, на карті SD) окремий ізольований каталог для своїх файлів, до якого не зможуть отримати доступ інші програми. Поточна програма буде обмежена цим каталогом для зберігання фотографій, відео та музики, і не перетинатиметься із загальними колекціями мультимедійних файлів. Для отримання спільного доступу до загальних колекцій файлів потрібно отримати окремі повноваження;
    • В API BiometricPrompt, що уніфікує висновок діалогу біометричної аутентифікації, додано підтримку пасивних методів аутентифікації, таких як аутентифікація по обличчю. Запропоновано роздільні методи обробки явної та не явної аутентифікації. При явній аутентифікації користувач повинен підтвердити операцію, а при неявній аутентифікація може здійснюватися непомітно в пасивному режимі;
  • Бездротовий стек.
    • Додано підтримку стандарту мобільного зв'язку 5G, для якого адаптовані наявні API керування з'єднаннями. В тому числі через API програми можуть визначати наявність високошвидкісного з'єднання та активності тарифікації з трафіку;
    • Додано два режими роботи Wi-Fi – режим досягнення максимальної пропускної спроможності та режим мінімальних затримок (наприклад, корисний для ігор та голосових комунікацій);
    • Проведено рефакторинг бездротового стека для посилення приватності та збільшення продуктивності, а також для покращення керування пристроями інтернету речей через локальний Wi-Fi (наприклад, для виведення на друк через Wi-Fi) та вибору точок підключення. Функції сканування доступних точок доступу тепер надається платформою з виведенням знайдених мереж в інтерфейсі Wi-Fi Picker та автоматичним налаштуванням з'єднання у разі його вибору користувачем. Додаткам через API WifiNetworkSuggestions надано можливість впливати на алгоритм вибору бездротових мереж, що віддають перевагу, шляхом передачі додатком ранжированого списку мереж і паролів для підключення до них. Крім того, при виборі мережі, до якої здійснюється підключення, тепер враховуються метрики про пропускну здатність при минулому підключенні (вибирається найшвидша мережа);
  • Мультимедіа та графіка
    • Додано підтримку графічного API Вулкан 1.1. Порівняно з OpenGL ES використання Vulkan дозволяє суттєво знизити навантаження на CPU (до 10 разів у тестах Google) та підвищити продуктивність малювання. Кінцевою метою є повсюдна підтримка Vulkan на всіх Android-пристроях, для чого Google працює з виробниками обладнання у плані переведення Vulkan 1.1 у розряд обов'язкових вимог для всіх 64-розрядних пристроїв на базі Android 10;
    • Додана експериментальна підтримка виконання прошарку КУТ (Almost Native Graphics Layer Engine) поверх графічного API Vulkan. ANGLE дозволяє виконати малювання, абстрагуючись від специфічних для різних систем API, завдяки трансляції викликів OpenGL ES OpenGL, Direct3D 9/11, Desktop GL і Vulkan). Для розробників ігор та графічних додатків ANGLE дозволяє використовувати звичайний драйвер OpenGL ES на всіх пристроях, які використовують Vulkan;
    • Програми для роботи з камерою та зображеннями тепер можуть запитати передачу додаткових XMP-метаданих у файлі JPEG, що містять відомості, необхідні для обробки глибини на фотографіях (наприклад, картка глибини, що зберігається подвійними камерами). Зазначені параметри можна застосовувати для реалізації різних режимів розмиття фону та ефекту боці, а також для створення 3D-фотографій або у системах доповненої реальності;
    • Додано підтримку відеокодека AV1, який позиціонується як загальнодоступний і не вимагає оплати відрахувань вільний формат кодування відео, який помітно випереджає H.264 та VP9 за рівнем стиснення;
    • Додано підтримку вільного звукового кодеку Опусщо забезпечує високу якість кодування та мінімальну затримку як при стисканні потокового звуку з високим бітрейтом, так і при стисканні голосу в обмежених за пропускною здатністю додатках VoIP-телефонії;
    • Додано підтримку стандарту HDR10 +, що застосовується для кодування відео з розширеним динамічним діапазоном;
    • В API MediaCodecInfo додано спрощений метод для визначення доступних на пристрої можливостей виведення відео (виводиться список кодеків і дозволів, що підтримуються на пристрої, і FPS);
    • Доданий API Native MIDI, що надає додаткам на C++ можливість безпосередньо взаємодіяти з MIDI-пристроями через NDK в режимі, що не блокує, що дозволяє обробляти MIDI-повідомлення з дуже низькими затримками;
    • Доданий API MicrophoneDirection для керування захопленням звуку з спрямованих мікрофонів. За допомогою цього API можна вказати напрямок для орієнтації мікрофона під час запису звуку). Наприклад, при створенні Selfie-відео можна вказати setMicrophoneDirection(MIC_DIRECTION_FRONT) для запису з мікрофона в лицьовій частині пристрою. Через вказаний API також можна керувати мікрофонами з областю охоплення (zoomable), що змінюється, визначаючи розмір області для запису.
    • Додано новий API для захоплення звуку, що дозволяє одному додатку
      надати можливість обробки звукового потоку іншим додатком. Для надання доступу інших програм до звукового висновку потрібне надання спеціального дозволу;
  • Система та розширені API.
    • Проведено значні оптимізації продуктивності runtime ART, що дозволило скоротити споживання пам'яті та прискорити запуск програм. У Google Play забезпечено поширення профілів
      PGO (Profile Guided Optimization), що містять відомості про найчастіше виконувані частини коду. Передкомпіляція подібних елементів дозволяє значно скоротити час запуску. У самому ART проведено оптимізацію для більш раннього запуску процесу застосування та переміщення його в ізольований контейнер. В образі пам'яті програми забезпечено збереження додаткових даних, таких як класи. Реалізовано багатопотоковий режим завантаження образів пам'яті програм. Підвищено ефективність роботи збирача сміття, за рахунок роздільної обробки нещодавно створених об'єктів;

      Випуск мобільної платформи Android 10

    • До версії 1.2 оновлено API Нейронні мережі, що надає додаткам можливості щодо використання засобів апаратного прискорення для систем машинного навчання. API позиціонується як базовий прошарок для функціонування в Android фреймворків машинного навчання, таких як TensorFlow Lite та Caffe2. Для використання на мобільних пристроях запропоновано низку готових моделей нейронних мереж, у тому числі MobileNets (розпізнавання об'єктів на фотографіях), Початок v3 (комп'ютерний зір) та Smart
      відповісти
      (Підбір варіантів відповіді на повідомлення). У новому випуску додано 60 нових операцій, включаючи ARGMAX, ARGMIN та квантований LSTM, а також проведено значні оптимізації продуктивності, що дозволило використовувати API для підтримки нових моделей машинного навчання, таких як визначення об'єктів та сегментація зображень;

    • У SDK доданий новий емулятор пристроїв зі складними екранами, що згинаються, який доступний у випуску Android Studio 3.5 у формі додаткового віртуального пристрою, представленого у варіантах з екранами 7.3 (4.6) і 8 (6.6) дюймів. У платформі для складних пристроїв розширені обробники onResume і onPause, в яких додано підтримку роздільного відключення декількох екранів, а також реалізовані розширені повідомлення про попадання програми у фокус;

      Випуск мобільної платформи Android 10

    • Додано Thermal API, що дозволяє програмам контролювати показники температури CPU і GPU і самостійно вживати заходів для зниження навантаження (наприклад, знижувати FPS в іграх і зменшувати дозвіл відео, що транслюється), не чекаючи поки система примусово не почне урізати активність додатків.

Джерело: opennet.ru

Додати коментар або відгук