В Android Q компания очевидно сделала ставку на защиту персональных данных пользователей. Теперь доступ к местоположению пользователя приложениями осуществляется через специальное разрешение, а сам пользователь получил больше контроля и гибкости в управлении этим разрешением.
Ранее на Android вы могли только разрешить или отказать конкретному приложению в доступе к данным о местоположении. С Android Q появилась новая опция - доступ к геолокации только в том случае, если приложение открыто. Таким образом можно надежно заблокировать слишком «любопытные» приложения, отслеживающие перемещения телефона в фоновом режиме.
Также в новой версии Android компания реализовала блокировку к уникальным идентификаторам телефона. Проблема известная, ведь рекламные сети часто используют такие идентификаторы смартфона, как IMEI или MAC-адрес для таргетирования реклама. С Android Q можно отключить или обнулить отслеживаемый рекламный идентификатор, чего нельзя было сделать в предыдущих версиях платформы.
Многие из ранее анонсированных функций для складных телефонов, таких как Galaxy Fold, уже встроены в Android Q. Для разработчика это означает поддержку нового режима паузы и возобновления работы, что позволяет запускать сразу несколько приложений на большом экране без ущерба юзабилити.
Телефоны с двойными и тройными камерами, которые сейчас активно выпускаются самыми разными производителями, также выиграют от Android Q благодаря реализации поддержки нового формата динамической глубины. Приложения смогут запрашивать специальные метаданные из JPEG для создания трехмерных карт с использованием алгоритмов Google. Таким образом, портреты и предметная съемка на Android Q при наличии в телефоне двойной или тройной камеры станет еще качественней.
Разработчики также смогут воспользоваться всплывающей панелью настроек в Android Q. Панель предоставляет быстрый доступ к таким настройкам, как Wi-Fi или Bluetooth. Google также добавил поддержку ряда беспроводных технологий для более эффективного управления «интернетом вещей» по Wi-Fi. А еще в новом Android будет специальный турбо-режим для беспроводного интернета по Wi-Fi, увеличивающий скорость и снижающий задержки, но затрачивающий дополнительную энергию аккумулятора. Болезненно медленное меню «Поделиться» в Android получит долгожданное ускорение. Разработчики смогут регистрировать шорткаты для шэринга в системе, что позволит мгновенно вызывать их через соответствующее меню.
В числе низкоуровневых новшеств в Android Q повышение скорости запуска приложений за счет Android Runtime (ART), которая будет обеспечивать предварительную компиляцию частей приложения для существенного ускорения его запуска. Google заявляет, что фирменные приложения, такие как YouTube и Keep будут запускаться в Android Q на 21% быстрее.
Растущая популярность трехмерных решения для разблокировки телефона и идентификации пользователя подтолкнула компанию к реализации поддержки этой функции на уровне системы. На соответствующих телефонах после обновления до Android Q пользовательская физиономия сможет снять блокировку или подтверждать покупки через Google Pay.
Android Q можно установить на любой телефон Pixel начиная с первого поколения 2016 года. У Google есть программа бета-тестирования, позволяющая легко обновляться «по воздуху» (OTA). Procontent.Ru напоминает, что это нестабильная бета-версия, поэтому не стоит устанавливать ее на телефон, которым вы пользуетесь ежедневно. До выхода финальной версии Android Q Google должен выпустить в этом году шесть бета-версий, поэтому впереди нас ожидают еще несколько итераций платформы.
Расскажем подробнее о том, что нового ожидает пользователей в очередной итерации мобильной платформы Google. Большинство ключевых изменений ожидаются в финальном релизе, но уже сейчас, проанализировав первую бета-версию, можно сказать, в каком направлении пошла компания.
Пользователи получат больше контроля над приложениями, обращающимся к геолокационным данным. На выбор для каждого приложения в Android Q будет три типа разрешений:
Третья новая опция позволит предотвратить отслеживание приложениями данных о вашем местоположении, если вы ими в конкретный момент не пользуетесь.
В Android Q будет больше контроля над работой приложений в общем доступе. Пользователь сможет указать, как именно приложения могут обращаться к фотов, видео и аудио с помощью новых разрешений.
Для папки «Загрузки» и в целом процедуры скачивания файлов на устройство приложения должны будут использовать системный файл-менеджер, позволяющий указать, какое именно приложение может обращаться к этой папке. Кроме того, разработчикам предстоит изменить в Android Q процедуру обращения к папкам на внешней карте памяти.
Уменьшение задержек, связанных с неожиданным для пользователя вызовом на экран приложения из фонового режима. В Android Q приложениям запрещено запускать Активность при работе в фоне.
Однако, у разработчиков останется способ привлечь внимание пользователя к различным событиям типа входящих звонков или будильников с помощью уведомлений с высоким приоритетом или полноэкранным сообщениям
Уникальные ID устройства, такие как IMEI, серийный номер и прочие в Android Q будут под более строгим контролем, получить их приложению будет труднее. Кроме того, под новым Android устройство будет в случайном порядке менять MAC-адрес при подключении к другой Wi-Fi сети по умолчанию (в Android 9 Pie эту опцию можно включить вручную).
Приложения на уровне системы смогут воспользоваться преимуществами новых типов экранов, включая устройства с большими экранами. Изменения в onResume и onPause обеспечили поддержку многократных пауз и реализовали уведомления, сообщающие о том, что приложение потребовалось пользователю.
Атрибут resizeableActivity поможет задать, как именно отображается приложение на складном или большом экране.
Механизм обмена контентом между приложениями с помощью меню «Поделиться» в Android Q заметно ускорили. Теперь с помощью Sharing Shortcuts пользователь может напрямую перейти в приложение для отсылки файла, фото или других данных более оперативно.
Разработчики приложений могут указывать цели для обмена данными, которые запускают определенную активность с прикрепленным файлом. Такие ярлыки отображаются в пользовательском интерфейсе мгновенно, поскольку соответствующие шаблоны заданы изначально.
Поскольку функционал Sharing Shortcuts схож App Shortcuts, Shortcuts API теперь объединяет оба в новой библиотеке ShareTarget AndroidX
Ключевые системные настройки прямо в приложении. Новый Settings Panel API в Android Q использует функцию Slices, представленную в «пироге», которая выводит всплывающий пользовательский интерфейс с релевантными системными настройками, такими как Wi-Fi, режим полета, мобильные данные, громкость, NFC и т. д. Покидать приложение теперь необязательно, что включить Wi-Fi прямо в браузере или понизить громкость в видеоплеере.
Для доступа к Bluetooth, сотовой сети, Wi-Fi и точного местоположения (FINE location) потребуются отдельные разрешения. Для защиты данных в Wi-Fi сетях (как домашних, так и общественных), в Android Q внедрена поддержка технологий WP3 и OWE.
Стэк Wi-Fi был подвергнут рефакторингу для улучшения защищенности, производительности и более эффективной работы при исполнении повседневных сценариев, таких как управление устройствами «Интернета вещей» и подключение к интернет-соединениям.
API сетевых соединений помогут приложениям инициировать запросы на подключение косвенным методом, указывая предпочтительные SSID и BSSID как WiFiNetworkSpecifiers. API предполагаемых подключений к сети позволят приложениям косвенно инициировать сетевые соединения, предоставляя ранжированные список сетей и информации для аутентификации как WifiNetworkSuggestions.
Android Q будет управлять сканированием Wi-Fi сетей самостоятельно, отображая подходящие в модуле Wi-Fi Picker, а соединение будет осуществляться с учетом предыдущих замеров производительности, когда сети оказываются в зоне досягаемости.
Турбо-режим для Wi-Fi сети с уменьшенным временем задержки, который разработчик может вызвать с помощью WifiManager.WifiLock.createWifiLock() с WIFI_MODE_FULL_LOW_LATENCY или WIFI_MODE_FULL_HIGH_PERF.
Google полагает, что такой режим пригодится для сетевых игр в режиме реального времени, голосовых вызовов и подобных сценариев, требующим максимум скорости при отсутствии существенных задержек в передачи данных. Минус включения этого режима — повышенное потребление заряда аккумулятора устройством.
Приложения смогут вызывать снимок с «Динамической глубиной» (Dynamic Depth), состоящий из JPG и метаданных XMP о глубине резкости изображаемого пространства, а также карту глубин, встроенные в файл.
Вызов фотографии в формате JPEG + Dynamic Depth позволит разработчикам предложить дополнительные эффекты — специальное размытие, варианты «боке», либо использовать полученные данные для создания трехмерных изображений и поддержки съемки дополненной реальности. Формат Dynamic Depth станет открытым для экосистемы Android.
Поддержка видео кодека AV1 с открытым исходным кодом, аудиодекодера с использованием OPUS, а также HDR10+ для съемки видео с расширенным динамическим диапазоном. MediaCodecInfo API поможет определить, какие кодеки и технологии кодирования/декодирования видео поддерживает девайс на Android (необходимо использовать VideoCodecCapabilities.getSupportedPerformancePoints() для получения списка поддерживаемых разрешений и частоты кадров.
API в Android Q, позволяющий обрабатывать аудио в C++ и обеспечивать связь с MIDI-устройством через NDK. Позволяет получать данные MIDI в рамка аудиовызова (audio callback) используя неблокирующее чтение, что ликвидирует задержки при обработке MIDI сообщений.
Экспериментальная поддержка ANGLE, графического абстрактного уровня, разработанного для совместимости с высокопроизводительным OpenGL, используемого поверх Vulkan. Приложения и игры, полагающиеся на OpenGL ES, смогут воспользоваться дополнительной производительностью и стабильностью Vulcan и выиграют от консистентной, независимой от производителя, реализацией ES.
Android Q поддерживает OpenGL ES 2.0, поддержка платформой ES 3.0 обещана в следующей версии.
Google работает с производителями телефонов, чтобы сделать Vulkan 1.1 обязательным для всех 64-битный устройств на базе Android Q и выше. Для 32-битной архитектуры поддержка будет рекомендованной. Так Vulkan станет единым высокопроизводительным графическим API в Android для игры и приложений.
60 новых опций, включая ARGMAX, ARGMIN и квантизированный LSTM, а также общая оптимизация производительности API. Благодаря обновлению разработчик сможет реализовать более широкий ряд модель, включая те, что используются для определения объектов и сегментации изображений.
Google уже активно работает с производителям оборудования и популярными фреймворками для машинного обучения, такими как TensorFlow, для оптимизации и реализации поддержки NNAPI 1.2.
Улучшения среды выполнения кода ART, позволяющие приложения быстрее загружаться и занимать меньше оперативной памяти. Сборщик мусора в целом стал более эффективен с точки зрения времени и затрат ресурсов CPU, что уменьшает количество джанк-данных и помогает приложениям работать на недорогих устройствах.
Функционал расширен, и в Android Q включает пассивные методы аутентификации, такие как распознавание ли, а также имплицитные и эксплицитные потоки. Google также улучшил систему перехода в аварийный режим, включаемый при необходимости.
Добавлена поддержка TLS 1.3, которая включена по умолчанию для всех TLS-соединений. Google заявляет, что внутреннее тестирование показало увеличение скорости установки защищенного соединения на 40% по сравнению с TLS 1.2.
Google ограничивает доступ к большему количеству не-SDK интерфейсов, призывая разработчиков использовать открытые эквиваленты. Это ограничение применяется только для приложений под Android Q, поэтом разработчикам рекомендуется проводить предварительное тестирование. Используйте метод StrictMode detectNonSdkApiUsage(), чтобы выводть предупреждение об запросе на доступ приложения к API, не входящим в SDK, через отражение или JNI.
Google Play будет требовать установить targetSdkVersion set to 28 в значение 28 (Android 9 Pie) в новых приложениях и обновлениях, планирующихся к выходу позднее в этом году. Android Q будет предупреждать пользователей при первом запуске, что они открывают приложения для платформы старше, чем API уровня 23 (Android 6.0 Marshmallow). Кроме того, позднее в этом году Google Play будет требовать поддержки 64-битной архитектуры во всех приложениях.
Цель выпуска первой бета-версии — позволить разработчикам и техногикам «поиграть» с билдом заранее, чтобы посмотреть на новые функции и API для приложений, протестировать продукты на совместимость, а также поделиться своими впечатлениями переде конференций I/O 2019, которая пройдет с 7 по 9 мая. Больше новых функций и возможностей мы увидим в следующих бета-версиях Android Q.
Постоянный адрес публикации: http://www.procontent.ru/news/31449.html
© Дмитрий Серпухов «Мобильный Контент»