Android 10 для разработчиков

Android 10 построен на трех важных темах. Во-первых, Android 10 формирует передовые мобильные инновации благодаря передовому машинному обучению и поддержке новых устройств, таких как складные телефоны и телефоны с поддержкой 5G. Кроме того, в Android 10 основное внимание уделяется конфиденциальности и безопасности: почти 50 функций обеспечивают пользователям большую защиту, прозрачность и контроль. Наконец, Android 10 расширяет возможности контроля цифрового благополучия пользователей, поэтому отдельные люди и семьи могут найти лучший баланс с технологиями.

Вот что нового в Android 10 для разработчиков и как вы можете использовать его уже сегодня.

Инновации и новый опыт

С Android 10 вы можете воспользоваться новейшими аппаратными и программными инновациями, чтобы создавать потрясающие возможности приложений для пользователей.

С Android 10 вы можете оптимизировать свои приложения для складных устройств и других устройств с большим экраном.

Складные

Опираясь на надежную поддержку нескольких окон, Android 10 расширяет возможности многозадачности между окнами приложений и обеспечивает непрерывность экрана для поддержания состояния вашего приложения, когда устройство складывается или раскладывается. В Android 10 добавлен ряд улучшений в onResume и onPause для поддержки множественного возобновления и уведомления вашего приложения, когда оно находится в фокусе. Он также меняет способ работы атрибута манифеста resizeableActivity , чтобы помочь вам управлять отображением вашего приложения на складных и больших экранах. Чтобы помочь вам создавать складные устройства, вы можете настроить складной эмулятор как виртуальное устройство (AVD) в Android Studio. Подробную информацию о том, как оптимизировать приложения для складных устройств, см. в руководстве для разработчиков .

Сети 5G

5G обещает обеспечить стабильно более высокую скорость и меньшую задержку. В Android 10 добавлена ​​поддержка платформы 5G и расширены существующие API , чтобы помочь вам воспользоваться этими улучшениями. Вы можете использовать API-интерфейсы подключения, чтобы определить, имеет ли устройство соединение с высокой пропускной способностью, и проверить, является ли соединение лимитным. Благодаря этому ваши приложения и игры смогут адаптировать богатые и захватывающие впечатления для пользователей через 5G.

Умный ответ в уведомлениях

Android 10 использует машинное обучение на устройстве, чтобы предлагать контекстные действия в уведомлениях, такие как интеллектуальные ответы на сообщения или открытие карты для адреса в уведомлении. Ваши приложения могут сразу же воспользоваться этой функцией, без необходимости каких-либо действий. Предоставленные системой интеллектуальные ответы и действия по умолчанию вставляются непосредственно в уведомления. При желании вы по-прежнему можете предоставлять свои собственные ответы и действия. Просто откажитесь от Smart Reply для каждого уведомления, используя setAllowGeneratedReplies() и setAllowSystemGeneratedContextualActions() .

Smart Reply может предлагать действия на основе содержимого уведомления.

Темная тема

В Android 10 добавлена ​​общесистемная темная тема, которая идеально подходит для слабого освещения и помогает экономить заряд батареи. Пользователи могут активировать новую общесистемную темную тему, перейдя в «Настройки» или включив «Экономия заряда». Это изменит пользовательский интерфейс системы на темный и включит темную тему приложений, которые ее поддерживают. Вы можете создать собственную темную тему для своего приложения или выбрать новую функцию Force Dark, которая позволяет системе динамически создавать темную версию из существующей темы. Вы также можете воспользоваться функцией DayNight AppCompat , чтобы предложить темную тему для пользователей более ранних версий Android. Дополнительную информацию см. в руководстве разработчика .

Android 10 может динамически создавать темную тему для вашего приложения с помощью Force Dark.

Навигация с помощью жестов

Навигация с помощью жестов позволяет приложениям просматривать контент в полноэкранном режиме.

В Android 10 представлен режим полностью жестовой навигации, который устраняет область панели навигации и позволяет приложениям использовать полноэкранный режим для обеспечения более богатого и захватывающего опыта. Он сохраняет знакомую навигацию «Назад», «Домой» и «Недавние» с помощью пролистывания по краям, а не видимых кнопок. Чтобы плавно сочетаться с навигацией с помощью жестов, вам следует двигаться от края до края, рисуя за панелью навигации, чтобы создать эффект присутствия. Чтобы реализовать это, приложения должны использовать API setSystemUiVisibility() для полноэкранного размещения, а затем соответствующим образом обрабатывать WindowInsets , чтобы гарантировать, что важные части пользовательского интерфейса не скрыты. Начните оптимизировать свое приложение уже сегодня и ознакомьтесь с серией публикаций в нашем блоге для получения дополнительной информации.

Панели настроек

Теперь вы можете отображать ключевые системные настройки непосредственно в контексте вашего приложения с помощью нового API панели настроек . Панель настроек — это плавающий пользовательский интерфейс, который вы вызываете, чтобы показать настройки, которые могут понадобиться пользователям, такие как подключение к Интернету, NFC и громкость звука. Например, браузер может отображать панель с настройками подключения, такими как режим полета, Wi-Fi (включая близлежащие сети) и мобильные данные. Чтобы отобразить панель настроек, просто активируйте намерение с помощью одного из новых действий Settings.Panel .

Совместное использование ярлыков

Ярлыки общего доступа ускоряют и упрощают обмен данными, позволяя пользователям напрямую переходить к другому приложению для обмена контентом. Разработчики могут публиковать цели общего доступа, которые запускают определенное действие в их приложениях с прикрепленным содержимым, и они отображаются пользователям в пользовательском интерфейсе общего доступа. Поскольку они публикуются заранее, пользовательский интерфейс общего доступа загружается мгновенно при запуске. Общий доступ к ярлыкам аналогичен ярлыкам приложений и использует тот же API ShortcutInfo . API также поддерживается в библиотеке ShareTarget AndroidX. Подробности смотрите в образце приложения .

Ярлыки общего доступа позволяют пользователям сразу переходить к определенному действию в ваших приложениях с прикрепленным содержимым.

Конфиденциальность для пользователей

Конфиденциальность занимает центральное место в Android 10: от более сильной защиты платформы до новых функций, разработанных с учетом конфиденциальности. Основываясь на предыдущих выпусках, Android 10 включает в себя обширные изменения для защиты конфиденциальности и предоставления пользователям большего контроля за счет улучшенного пользовательского интерфейса системы, более строгих разрешений и ограничений на то, какие приложения для передачи данных могут использовать. Ознакомьтесь с изменениями конфиденциальности , чтобы узнать, как их поддерживать в ваших приложениях.

Теперь пользователи могут предоставить доступ к местоположению, когда приложение находится на переднем плане.

Предоставление пользователям большего контроля над данными о местоположении . Пользователи имеют больше контроля над данными о своем местоположении благодаря новому параметру разрешений — теперь они могут разрешить приложению доступ к данным о местоположении только тогда, когда приложение фактически используется (работает на переднем плане). Для большинства приложений это обеспечивает достаточный уровень доступа, а для пользователей — значительное улучшение прозрачности и контроля. Дополнительную информацию об изменении местоположения см. в руководстве для разработчиков или в нашем блоге .

Защита данных о местоположении при сканировании сети . Большинству API-интерфейсов для сканирования сетей уже требовалось грубое разрешение на определение местоположения. Android 10 повышает защиту этих API , требуя вместо этого разрешения на точное определение местоположения .

Предотвращение отслеживания устройств . Приложения больше не могут получить доступ к несбрасываемым идентификаторам устройств, которые можно использовать для отслеживания, включая IMEI устройства, серийный номер и аналогичные идентификаторы. MAC-адрес устройства также рандомизируется при подключении к сетям Wi-Fi по умолчанию. Ознакомьтесь с рекомендациями , которые помогут вам выбрать правильные идентификаторы для вашего варианта использования, и ознакомьтесь с подробностями здесь .

Защита пользовательских данных во внешнем хранилище . В Android 10 представлен ряд изменений, которые дают пользователям больше контроля над файлами во внешнем хранилище и данными приложений внутри них. Приложения могут хранить свои собственные файлы в своих частных изолированных программных средах, но должны использовать MediaStore для доступа к общим медиафайлам и использовать системный инструмент выбора файлов для доступа к общим файлам в новой коллекции «Загрузки». Узнайте больше здесь .

Блокировка нежелательных прерываний . Android 10 предотвращает запуск приложений в фоновом режиме, которые неожиданно выходят на передний план и перехватывают фокус от другого приложения. Узнайте больше здесь .

Безопасность

В Android 10 представлен ряд функций , которые повышают безопасность пользователей благодаря достижениям в области шифрования, усиления платформы и аутентификации. Подробнее об обновлениях безопасности Android 10 читайте здесь .

Шифрование хранилища . Все совместимые устройства, работающие под управлением Android 10, должны шифровать пользовательские данные. Чтобы сделать это более эффективным, в Android 10 включен Adiantum , наш новый режим шифрования.

TLS 1.3 по умолчанию . Android 10 также по умолчанию включает TLS 1.3 — основную версию стандарта TLS с преимуществами производительности и повышенной безопасности .

Усиление защиты платформы . Android 10 также включает усиление защиты нескольких критически важных для безопасности областей платформы.

Улучшенная биометрия . Android 10 расширяет платформу BiometricPrompt для поддержки методов пассивной аутентификации, таких как лицо, а также добавления неявных и явных потоков аутентификации. В явном потоке пользователь должен явно подтвердить транзакцию в TEE во время аутентификации. Неявный поток предназначен для облегченной альтернативы транзакциям с пассивной аутентификацией. В Android 10 также улучшен резервный вариант учетных данных устройства, когда это необходимо. Узнайте больше здесь .

Камера и медиа

Динамическая глубина для фотографий

Приложения теперь могут запрашивать изображение динамической глубины, которое состоит из метаданных JPEG, XMP, связанных с элементами, связанными с глубиной, а также карты глубины и достоверности, встроенной в один и тот же файл. Они позволяют вам предлагать в вашем приложении специальные параметры размытия и боке. Dynamic Depth — это открытый формат экосистемы, и мы работаем с нашими партнерами над его внедрением на устройства под управлением Android 10 и более поздних версий.

Благодаря изображению с динамической глубиной вы можете предложить в своем приложении специальные параметры размытия и боке.

Захват воспроизведения звука

Теперь любое приложение, воспроизводящее аудио, может позволить другим приложениям захватывать его аудиопоток с помощью нового API захвата воспроизведения звука . Помимо включения титров и субтитров, API позволяет поддерживать популярные варианты использования, такие как прямые трансляции игр. Мы создали эту новую возможность с учетом конфиденциальности и защиты авторских прав, поэтому возможность приложения захватывать звук другого приложения ограничена, что дает приложениям полный контроль над тем, можно ли записывать их аудиопотоки. Подробности читайте в этом сообщении блога .

Новые аудио и видео кодеки

В Android 10 добавлена ​​поддержка видеокодека с открытым исходным кодом AV1 , который позволяет медиа-провайдерам передавать высококачественный видеоконтент на устройства Android , используя меньшую пропускную способность . Кроме того, Android 10 поддерживает кодирование звука с помощью Opus — открытого бесплатного кодека, оптимизированного для потоковой передачи речи и музыки, — и HDR10+ для видео с расширенным динамическим диапазоном на устройствах, которые его поддерживают. API MediaCodecInfo представляет более простой способ определения возможностей рендеринга видео на устройстве Android. Для любого кодека вы можете получить список поддерживаемых размеров и частоты кадров.

Собственный MIDI API

Для приложений, выполняющих обработку звука на C++, Android 10 представляет собственный MIDI API для связи с MIDI-устройствами через NDK. Этот API позволяет извлекать MIDI-данные внутри обратного аудиовызова с использованием неблокирующего чтения, что обеспечивает обработку MIDI-сообщений с низкой задержкой. Попробуйте его с примером приложения и исходным кодом здесь .

Направленные масштабируемые микрофоны

Android 10 дает вам больше контроля над захватом звука благодаря новому API MicrophoneDirection . Вы можете использовать API, чтобы указать предпочтительное направление микрофона при аудиозаписи. Например, когда пользователь снимает видео «селфи», вы можете запросить фронтальный микрофон для записи звука (если он существует). Кроме того, этот API представляет стандартизированный способ управления масштабируемыми микрофонами, позволяя вашему приложению контролировать размер поля записи .

Вулкан повсюду

Android 10 расширяет возможности Vulkan благодаря нашей реализации кроссплатформенного API с низкими издержками для высокопроизводительной 3D-графики. Vulkan 1.1 теперь является обязательным для всех 64-битных устройств под управлением Android 10 и выше и рекомендуется для всех 32-битных устройств. Мы уже видим значительный импульс поддержке Vulkan в экосистеме: среди устройств под управлением Android N или выше 53% поддерживают Vulkan 1.0.3 или выше. Учитывая новые требования Android 10, мы ожидаем дальнейшего улучшения внедрения в следующем году.

Возможности подключения

Улучшенное одноранговое соединение и подключение к Интернету.

Мы провели рефакторинг стека Wi-Fi, чтобы улучшить конфиденциальность и производительность, а также улучшить общие сценарии использования, такие как управление устройствами Интернета вещей и предложение подключений к Интернету, не требуя разрешения на определение местоположения. API-интерфейсы сетевых подключений упрощают управление устройствами Интернета вещей через локальную сеть Wi-Fi для выполнения одноранговых функций, таких как настройка, загрузка или печать. API-интерфейсы предложений по сети позволяют приложениям отображать пользователю предпочтительные сети Wi-Fi для подключения к Интернету.

Режимы работы Wi-Fi

Приложения теперь могут запрашивать адаптивный Wi-Fi, включив режимы высокой производительности и низкой задержки . Это может быть большим преимуществом там, где для пользовательского опыта важна низкая задержка, например, игры в реальном времени, активные голосовые вызовы и аналогичные варианты использования. Платформа работает с прошивкой устройства, чтобы обеспечить минимальное энергопотребление. Чтобы использовать новые режимы производительности, вызовите WifiManager.WifiLock.createWifiLock() с WIFI_MODE_FULL_LOW_LATENCY или WIFI_MODE_FULL_HIGH_PERF . В этих режимах платформа работает с прошивкой устройства, чтобы обеспечить минимальное энергопотребление.

Основы Android

Оптимизация АРТ

Улучшения в среде выполнения ART помогают вашим приложениям запускаться быстрее, потреблять меньше памяти и работать более плавно, не требуя от вас никаких действий. Профили ART , предоставляемые Google Play, позволяют ART предварительно скомпилировать части вашего приложения еще до его запуска. Во время выполнения Android 10 добавляет сборку мусора поколений в сборщик мусора с одновременным копированием (CC) ART, чтобы сделать сбор мусора более эффективным с точки зрения времени и ресурсов ЦП, уменьшить количество зависаний и помочь приложениям лучше работать на устройствах более низкого уровня.

На этой диаграмме показано процентное улучшение времени запуска отдельных приложений при тестировании с использованием профилей Play.

API нейронных сетей 1.2

Мы добавили 60 новых операций, включая ARGMAX, ARGMIN, квантованный LSTM, а также ряд оптимизаций производительности. Это закладывает основу для ускорения гораздо более широкого спектра моделей, например, для обнаружения объектов и сегментации изображений. Мы работаем с поставщиками оборудования и популярными платформами машинного обучения, такими как TensorFlow, над оптимизацией и развертыванием поддержки NNAPI 1.2.

Термальный API

Когда устройства перегреваются, они могут замедлить работу процессора и/или графического процессора, что может неожиданным образом повлиять на приложения и игры. Теперь в Android 10 приложения и игры могут использовать термический API для отслеживания изменений на устройстве и принятия мер по восстановлению нормальной температуры. Например, потоковые приложения могут снизить разрешение/битовую скорость или сетевой трафик, приложение камеры может отключить вспышку или интенсивное улучшение изображения, а игра может снизить частоту кадров или тесселяцию полигонов. Подробнее читайте здесь .

Совместимость через общедоступные API

В Android 10 продолжают расширяться ограничения на интерфейсы, не относящиеся к SDK, поэтому приложения постепенно переходят на использование только общедоступных API . Если интерфейс, который вы сейчас используете, ограничен, вы можете вместо этого запросить новый общедоступный API для этого интерфейса . Чтобы помочь вам осуществить переход и предотвратить сбои в работе ваших приложений, мы включаем ограничения только в том случае, если ваше приложение ориентировано на Android 10 (API 29). Подробнее об ограничениях смотрите в руководстве разработчика .

Более быстрые обновления, более свежий код

Android 10 создан для более быстрых обновлений через Project Treble , который обеспечивает согласованный, тестируемый интерфейс между Android и базовым кодом устройства от производителей устройств и производителей микросхем. Благодаря Treble производители устройств могут быстрее и с меньшими затратами перенести Android 10 на устройства, совместимые с Treble.

Android 10 также является первым выпуском, поддерживающим Project Mainline (официально называемое обновлениями системы Google Play ), нашу новую технологию для защиты пользователей Android и поддержания актуальности их устройств с помощью важных изменений кода — прямо из Google Play. Благодаря обновлениям системы Google Play мы можем обновлять определенные внутренние компоненты на всех устройствах под управлением Android 10 и более поздних версий, не требуя полного обновления системы от производителя устройства.

Что касается разработчиков, мы ожидаем, что эти обновления в Android 10 помогут обеспечить единообразие реализации платформы на всех устройствах и со временем обеспечат большую единообразность, которая снизит ваши затраты на разработку и тестирование.

Начать

Полный список ресурсов для разработчиков Android 10 можно найти на сайте Developer.android.com/10 .

,

Android 10 построен на трех важных темах. Во-первых, Android 10 формирует передовые мобильные инновации благодаря передовому машинному обучению и поддержке новых устройств, таких как складные телефоны и телефоны с поддержкой 5G. Кроме того, в Android 10 основное внимание уделяется конфиденциальности и безопасности: почти 50 функций обеспечивают пользователям большую защиту, прозрачность и контроль. Наконец, Android 10 расширяет возможности контроля цифрового благополучия пользователей, поэтому отдельные люди и семьи могут найти лучший баланс с технологиями.

Вот что нового в Android 10 для разработчиков и как вы можете использовать его уже сегодня.

Инновации и новый опыт

С Android 10 вы можете воспользоваться новейшими аппаратными и программными инновациями, чтобы создавать потрясающие возможности приложений для пользователей.

С Android 10 вы можете оптимизировать свои приложения для складных устройств и других устройств с большим экраном.

Складные

Опираясь на надежную поддержку нескольких окон, Android 10 расширяет возможности многозадачности между окнами приложений и обеспечивает непрерывность экрана для поддержания состояния вашего приложения, когда устройство складывается или раскладывается. В Android 10 добавлен ряд улучшений в onResume и onPause для поддержки множественного возобновления и уведомления вашего приложения, когда оно находится в фокусе. Он также меняет способ работы атрибута манифеста resizeableActivity , чтобы помочь вам управлять отображением вашего приложения на складных и больших экранах. Чтобы помочь вам создавать складные устройства, вы можете настроить складной эмулятор как виртуальное устройство (AVD) в Android Studio. Подробную информацию о том, как оптимизировать приложения для складных устройств, см. в руководстве для разработчиков .

Сети 5G

5G обещает обеспечить стабильно более высокую скорость и меньшую задержку. В Android 10 добавлена ​​поддержка платформы 5G и расширены существующие API , чтобы помочь вам воспользоваться этими улучшениями. Вы можете использовать API-интерфейсы подключения, чтобы определить, имеет ли устройство соединение с высокой пропускной способностью, и проверить, является ли соединение лимитным. Благодаря этому ваши приложения и игры смогут адаптировать богатые и захватывающие впечатления для пользователей через 5G.

Умный ответ в уведомлениях

Android 10 использует машинное обучение на устройстве, чтобы предлагать контекстные действия в уведомлениях, такие как интеллектуальные ответы на сообщения или открытие карты для адреса в уведомлении. Ваши приложения могут сразу же воспользоваться этой функцией, без необходимости каких-либо действий. Предоставленные системой интеллектуальные ответы и действия по умолчанию вставляются непосредственно в уведомления. При желании вы по-прежнему можете предоставлять свои собственные ответы и действия. Просто откажитесь от Smart Reply для каждого уведомления, используя setAllowGeneratedReplies() и setAllowSystemGeneratedContextualActions() .

Smart Reply может предлагать действия на основе содержимого уведомления.

Темная тема

В Android 10 добавлена ​​общесистемная темная тема, которая идеально подходит для слабого освещения и помогает экономить заряд батареи. Пользователи могут активировать новую общесистемную темную тему, перейдя в «Настройки» или включив «Экономия заряда». Это изменит пользовательский интерфейс системы на темный и включит темную тему приложений, которые ее поддерживают. Вы можете создать собственную темную тему для своего приложения или выбрать новую функцию Force Dark, которая позволяет системе динамически создавать темную версию из существующей темы. Вы также можете воспользоваться функцией DayNight AppCompat , чтобы предложить темную тему для пользователей более ранних версий Android. Дополнительную информацию см. в руководстве разработчика .

Android 10 может динамически создавать темную тему для вашего приложения с помощью Force Dark.

Навигация с помощью жестов

Навигация с помощью жестов позволяет приложениям просматривать контент в полноэкранном режиме.

В Android 10 представлен режим полностью жестовой навигации, который устраняет область панели навигации и позволяет приложениям использовать полноэкранный режим для обеспечения более богатого и захватывающего опыта. Он сохраняет знакомую навигацию «Назад», «Домой» и «Недавние» с помощью пролистывания по краям, а не видимых кнопок. Чтобы плавно сочетаться с навигацией с помощью жестов, вам следует двигаться от края до края, рисуя за панелью навигации, чтобы создать эффект присутствия. Чтобы реализовать это, приложения должны использовать API setSystemUiVisibility() для полноэкранного размещения, а затем соответствующим образом обрабатывать WindowInsets , чтобы гарантировать, что важные части пользовательского интерфейса не скрыты. Начните оптимизировать свое приложение уже сегодня и ознакомьтесь с серией публикаций в нашем блоге для получения дополнительной информации.

Панели настроек

Теперь вы можете отображать ключевые системные настройки непосредственно в контексте вашего приложения с помощью нового API панели настроек . Панель настроек — это плавающий пользовательский интерфейс, который вы вызываете, чтобы показать настройки, которые могут понадобиться пользователям, такие как подключение к Интернету, NFC и громкость звука. Например, браузер может отображать панель с настройками подключения, такими как режим полета, Wi-Fi (включая близлежащие сети) и мобильные данные. Чтобы отобразить панель настроек, просто активируйте намерение с помощью одного из новых действий Settings.Panel .

Совместное использование ярлыков

Ярлыки общего доступа ускоряют и упрощают обмен данными, позволяя пользователям напрямую переходить к другому приложению для обмена контентом. Разработчики могут публиковать цели общего доступа, которые запускают определенное действие в их приложениях с прикрепленным содержимым, и они отображаются пользователям в пользовательском интерфейсе общего доступа. Поскольку они публикуются заранее, пользовательский интерфейс общего доступа загружается мгновенно при запуске. Общий доступ к ярлыкам аналогичен ярлыкам приложений и использует тот же API ShortcutInfo . API также поддерживается в библиотеке ShareTarget AndroidX. Подробности смотрите в образце приложения .

Ярлыки общего доступа позволяют пользователям сразу переходить к определенному действию в ваших приложениях с прикрепленным содержимым.

Конфиденциальность для пользователей

Конфиденциальность занимает центральное место в Android 10: от более сильной защиты платформы до новых функций, разработанных с учетом конфиденциальности. Основываясь на предыдущих выпусках, Android 10 включает в себя обширные изменения для защиты конфиденциальности и предоставления пользователям большего контроля за счет улучшенного пользовательского интерфейса системы, более строгих разрешений и ограничений на то, какие приложения для передачи данных могут использовать. Ознакомьтесь с изменениями конфиденциальности , чтобы узнать, как их поддерживать в ваших приложениях.

Теперь пользователи могут предоставить доступ к местоположению, когда приложение находится на переднем плане.

Предоставление пользователям большего контроля над данными о местоположении . Пользователи имеют больше контроля над данными о своем местоположении благодаря новому параметру разрешений — теперь они могут разрешить приложению доступ к данным о местоположении только тогда, когда приложение фактически используется (работает на переднем плане). Для большинства приложений это обеспечивает достаточный уровень доступа, а для пользователей — значительное улучшение прозрачности и контроля. Дополнительную информацию об изменении местоположения см. в руководстве для разработчиков или в нашем блоге .

Защита данных о местоположении при сканировании сети . Большинству API-интерфейсов для сканирования сетей уже требовалось грубое разрешение на определение местоположения. Android 10 повышает защиту этих API , требуя вместо этого разрешения на точное определение местоположения .

Предотвращение отслеживания устройств . Приложения больше не могут получить доступ к несбрасываемым идентификаторам устройств, которые можно использовать для отслеживания, включая IMEI устройства, серийный номер и аналогичные идентификаторы. MAC-адрес устройства также рандомизируется при подключении к сетям Wi-Fi по умолчанию. Ознакомьтесь с рекомендациями , которые помогут вам выбрать правильные идентификаторы для вашего варианта использования, и ознакомьтесь с подробностями здесь .

Защита пользовательских данных во внешнем хранилище . В Android 10 представлен ряд изменений, которые дают пользователям больше контроля над файлами во внешнем хранилище и данными приложений внутри них. Приложения могут хранить свои собственные файлы в своих частных изолированных программных средах, но должны использовать MediaStore для доступа к общим медиафайлам и использовать системный инструмент выбора файлов для доступа к общим файлам в новой коллекции «Загрузки». Узнайте больше здесь .

Блокировка нежелательных прерываний . Android 10 предотвращает запуск приложений в фоновом режиме, которые неожиданно выходят на передний план и перехватывают фокус от другого приложения. Узнайте больше здесь .

Безопасность

В Android 10 представлен ряд функций , которые повышают безопасность пользователей благодаря достижениям в области шифрования, усиления платформы и аутентификации. Подробнее об обновлениях безопасности Android 10 читайте здесь .

Шифрование хранилища . Все совместимые устройства, работающие под управлением Android 10, должны шифровать пользовательские данные. Чтобы сделать это более эффективным, в Android 10 включен Adiantum , наш новый режим шифрования.

TLS 1.3 по умолчанию . Android 10 также по умолчанию включает TLS 1.3 — основную версию стандарта TLS с преимуществами производительности и повышенной безопасности .

Усиление защиты платформы . Android 10 также включает усиление защиты нескольких критически важных для безопасности областей платформы.

Улучшенная биометрия . Android 10 расширяет платформу BiometricPrompt для поддержки методов пассивной аутентификации, таких как лицо, а также добавления неявных и явных потоков аутентификации. В явном потоке пользователь должен явно подтвердить транзакцию в TEE во время аутентификации. Неявный поток предназначен для облегченной альтернативы транзакциям с пассивной аутентификацией. В Android 10 также улучшен резервный вариант учетных данных устройства, когда это необходимо. Узнайте больше здесь .

Камера и медиа

Динамическая глубина для фотографий

Приложения теперь могут запрашивать изображение динамической глубины, которое состоит из метаданных JPEG, XMP, связанных с элементами, связанными с глубиной, а также карты глубины и достоверности, встроенной в один и тот же файл. Они позволяют вам предлагать в вашем приложении специальные параметры размытия и боке. Dynamic Depth — это открытый формат экосистемы, и мы работаем с нашими партнерами над его внедрением на устройства под управлением Android 10 и более поздних версий.

Благодаря изображению с динамической глубиной вы можете предложить в своем приложении специальные параметры размытия и боке.

Захват воспроизведения звука

Теперь любое приложение, воспроизводящее аудио, может позволить другим приложениям захватывать его аудиопоток с помощью нового API захвата воспроизведения звука . Помимо включения титров и субтитров, API позволяет поддерживать популярные варианты использования, такие как прямые трансляции игр. Мы создали эту новую возможность с учетом конфиденциальности и защиты авторских прав, поэтому возможность приложения захватывать звук другого приложения ограничена, что дает приложениям полный контроль над тем, можно ли записывать их аудиопотоки. Подробности читайте в этом сообщении блога .

Новые аудио и видео кодеки

В Android 10 добавлена ​​поддержка видеокодека с открытым исходным кодом AV1 , который позволяет медиа-провайдерам передавать высококачественный видеоконтент на устройства Android , используя меньшую пропускную способность . Кроме того, Android 10 поддерживает кодирование звука с помощью Opus — открытого бесплатного кодека, оптимизированного для потоковой передачи речи и музыки, — и HDR10+ для видео с расширенным динамическим диапазоном на устройствах, которые его поддерживают. API MediaCodecInfo представляет более простой способ определения возможностей рендеринга видео на устройстве Android. Для любого кодека вы можете получить список поддерживаемых размеров и частоты кадров.

Собственный MIDI API

Для приложений, выполняющих обработку звука на C++, Android 10 представляет собственный MIDI API для связи с MIDI-устройствами через NDK. Этот API позволяет извлекать MIDI-данные внутри обратного аудиовызова с использованием неблокирующего чтения, что обеспечивает обработку MIDI-сообщений с низкой задержкой. Попробуйте его с примером приложения и исходным кодом здесь .

Направленные масштабируемые микрофоны

Android 10 дает вам больше контроля над захватом звука благодаря новому API MicrophoneDirection . Вы можете использовать API, чтобы указать предпочтительное направление микрофона при аудиозаписи. Например, когда пользователь снимает видео «селфи», вы можете запросить фронтальный микрофон для записи звука (если он существует). Кроме того, этот API представляет стандартизированный способ управления масштабируемыми микрофонами, позволяя вашему приложению контролировать размер поля записи .

Вулкан повсюду

Android 10 расширяет возможности Vulkan благодаря нашей реализации кроссплатформенного API с низкими издержками для высокопроизводительной 3D-графики. Vulkan 1.1 теперь является обязательным требованием для всех 64-битных устройств под управлением Android 10 и выше и рекомендуется для всех 32-битных устройств. Мы уже видим значительный импульс поддержке Vulkan в экосистеме: среди устройств под управлением Android N или выше 53% поддерживают Vulkan 1.0.3 или выше. Учитывая новые требования Android 10, мы ожидаем дальнейшего улучшения внедрения в следующем году.

Возможности подключения

Улучшенное одноранговое соединение и подключение к Интернету.

Мы провели рефакторинг стека Wi-Fi, чтобы улучшить конфиденциальность и производительность, а также улучшить общие сценарии использования, такие как управление устройствами Интернета вещей и предложение подключений к Интернету, не требуя разрешения на определение местоположения. API-интерфейсы сетевых подключений упрощают управление устройствами Интернета вещей через локальную сеть Wi-Fi для выполнения одноранговых функций, таких как настройка, загрузка или печать. API-интерфейсы предложений по сети позволяют приложениям отображать пользователю предпочтительные сети Wi-Fi для подключения к Интернету.

Режимы работы Wi-Fi

Приложения теперь могут запрашивать адаптивный Wi-Fi, включив режимы высокой производительности и низкой задержки . Это может быть большим преимуществом там, где для пользовательского опыта важна низкая задержка, например, игры в реальном времени, активные голосовые вызовы и аналогичные варианты использования. Платформа работает с прошивкой устройства, чтобы обеспечить минимальное энергопотребление. Чтобы использовать новые режимы производительности, вызовите WifiManager.WifiLock.createWifiLock() с WIFI_MODE_FULL_LOW_LATENCY или WIFI_MODE_FULL_HIGH_PERF . В этих режимах платформа работает с прошивкой устройства, чтобы обеспечить минимальное энергопотребление.

Основы Android

Оптимизация АРТ

Улучшения в среде выполнения ART помогают вашим приложениям запускаться быстрее, потреблять меньше памяти и работать более плавно, не требуя от вас никаких действий. Профили ART , предоставляемые Google Play, позволяют ART предварительно скомпилировать части вашего приложения еще до его запуска. Во время выполнения Android 10 добавляет сборку мусора поколений в сборщик мусора с одновременным копированием (CC) ART, чтобы сделать сбор мусора более эффективным с точки зрения времени и ресурсов ЦП, уменьшить количество зависаний и помочь приложениям лучше работать на устройствах более низкого уровня.

На этой диаграмме показано процентное улучшение времени запуска отдельных приложений при тестировании с использованием профилей Play.

API нейронных сетей 1.2

Мы добавили 60 новых операций, включая ARGMAX, ARGMIN, квантованный LSTM, а также ряд оптимизаций производительности. Это закладывает основу для ускорения гораздо более широкого спектра моделей, например, для обнаружения объектов и сегментации изображений. Мы работаем с поставщиками оборудования и популярными платформами машинного обучения, такими как TensorFlow, над оптимизацией и развертыванием поддержки NNAPI 1.2.

Термальный API

Когда устройства перегреваются, они могут замедлить работу процессора и/или графического процессора, что может неожиданным образом повлиять на приложения и игры. Теперь в Android 10 приложения и игры могут использовать термический API для отслеживания изменений на устройстве и принятия мер по восстановлению нормальной температуры. Например, потоковые приложения могут снизить разрешение/битовую скорость или сетевой трафик, приложение камеры может отключить вспышку или интенсивное улучшение изображения, а игра может снизить частоту кадров или тесселяцию полигонов. Подробнее читайте здесь .

Совместимость через общедоступные API

В Android 10 продолжают расширяться ограничения на интерфейсы, не относящиеся к SDK, поэтому приложения постепенно переходят на использование только общедоступных API . Если интерфейс, который вы сейчас используете, ограничен, вы можете вместо этого запросить новый общедоступный API для этого интерфейса . Чтобы помочь вам осуществить переход и предотвратить сбои в работе ваших приложений, мы включаем ограничения только в том случае, если ваше приложение ориентировано на Android 10 (API 29). Подробнее об ограничениях смотрите в руководстве разработчика .

Более быстрые обновления, более свежий код

Android 10 создан для более быстрых обновлений через Project Treble , который обеспечивает согласованный, тестируемый интерфейс между Android и базовым кодом устройства от производителей устройств и производителей микросхем. Благодаря Treble производители устройств могут быстрее и с меньшими затратами перенести Android 10 на устройства, совместимые с Treble.

Android 10 также является первым выпуском, который поддерживает Mainline Project (официально называемый обновлениями системы Google Play ), наша новая технология для обеспечения безопасности пользователей Android и поддержания свежих их устройств с важными изменениями кода - прямо из Google Play. С помощью обновлений системы Google Play мы можем обновить конкретные внутренние компоненты на всех устройствах, работающих на Android 10 и выше, не требуя полного обновления системы от производителя устройств.

Для разработчиков мы ожидаем, что эти обновления в Android 10 будут помочь в обеспечении согласованности в реализации платформы на разных устройствах, и со временем принесут большую единообразие, которая снизит ваши затраты на разработку и тестирование.

Начать

Для получения полных ресурсов разработчика для Android 10 посетите Developer.android.com/10 .

,

Android 10 построен вокруг трех важных тем. Во-первых, Android 10 формирует передний край мобильных инноваций с помощью расширенного машинного обучения и поддержки для новых устройств, таких как Foldables и 5G-телефоны. Далее, Android 10 сосредоточится на конфиденциальности и безопасности, с почти 50 функциями, которые дают пользователям большую защиту, прозрачность и контроль. Наконец, Android 10 расширяет управление цифровым благополучием пользователей, чтобы отдельные лица и семьи могли найти лучший баланс с технологиями.

Вот взгляд на то, что находится в Android 10 для разработчиков и как вы можете использовать его сегодня.

Инновации и новый опыт

С помощью Android 10 вы можете воспользоваться новейшими аппаратными и программными инновациями для создания удивительного опыта приложений для пользователей.

С помощью Android 10 вы можете оптимизировать свои приложения для складных и других устройств с крупным экраном.

Складываемые

Опираясь на надежную поддержку с несколькими окнами, Android 10 расширяет многозадачность в Windows приложения и обеспечивает непрерывность экрана для поддержания состояния вашего приложения, когда устройство складывается или разворачивается. Android 10 добавляет ряд улучшений в OnResume и OnPause для поддержки мультирезучения и уведомления вашего приложения, когда оно сосредоточено. Это также меняет, как работает атрибут MANIFEST RESZIZEABLICTION , чтобы помочь вам управлять тем, как отображается ваше приложение на складных и больших экранах. Чтобы помочь вам создать складные устройства, вы можете настроить складной эмулятор в качестве виртуального устройства (AVD) в Android Studio. Для получения подробной информации о том, как оптимизировать ваши приложения для складных данных, см. Руководство по разработчику .

5G сети

5G обещает обеспечить постоянно более высокую скорость и более низкую задержку, Android 10 добавляет поддержку платформы для 5G и расширяет существующие API , чтобы помочь вам воспользоваться этими улучшениями. Вы можете использовать API -интерфейсы подключения для определения того, имеет ли устройство подключение с высокой пропускной способностью, и проверить, является ли подключение. С этим ваши приложения и игры могут адаптировать богатый, захватывающий опыт для пользователей более 5 г.

Умный ответ в уведомлениях

Android 10 использует ML On-Device для предложения контекстных действий в уведомлениях, таких как Smart Mapens для сообщений или открытие карты для адреса в уведомлении. Ваши приложения могут сразу же воспользоваться этой функцией, без необходимости ничего сделать. Обеспечиваемые на системе Smart Retries and Daties вставлены непосредственно в уведомления по умолчанию по умолчанию. Вы все равно можете предоставить свои собственные ответы и действия, если хотите. Просто откажитесь от умного ответа на основе для нетификации, используя SetAllowGenedReplies () и SetAllowsyStemGeneratedContextualCations () .

Умный ответ может предложить действия на основе контента уведомления.

Темная тема

Android 10 добавляет темную тема всего системы, которая идеально подходит для низкого освещения и помогает сохранить батарею. Пользователи могут активировать новую темную тема всего системы, зайдя в настройки или включив вкладку батареи. Это меняет систему пользовательского интерфейса на Dark и позволяет темной теме приложений, которые поддерживают его. Вы можете создать пользовательскую темную тему для вашего приложения или принять участие в новой темной функции Force, которая позволяет системе динамически создавать темную версию из вашей существующей темы. Вы также можете воспользоваться функцией AppCompat's Daynight , чтобы предложить темную тему для пользователей на более ранних версиях Android. См. Руководство по разработчику для получения дополнительной информации.

Android 10 может создать темную тему для вашего приложения динамически с Force Dark.

Жестная навигация

Жестная навигация дает приложениям полный экран для контента.

Android 10 представляет полностью режим навигации с полным жестом, который устраняет область навигационной панели и позволяет приложениям использовать полный экран для обеспечения более богатого и захватывающего опыта. Он сохраняет знакомую обратно, домой и восстанавливает навигацию через краевые удары, а не видимые кнопки. Чтобы легко сочетаться с навигацией по жестам, вы должны идти по краю к краю, рисуя за панелью навигации, чтобы создать захватывающий опыт. Чтобы реализовать это, приложения должны использовать API SetSystemuivisibility () для выпуска полноэкранного, а затем обрабатывать Windownsets в зависимости от необходимости, чтобы убедиться, что важные части пользовательского интерфейса не скрыты. Начните оптимизировать свое приложение сегодня и просмотрите нашу серию постов в блоге для получения дополнительной информации.

Панели настроек

Теперь вы можете показать настройки системы ключей непосредственно в контексте вашего приложения через новую панель настроек . Панель настроек - это плавающий пользовательский интерфейс, который вы вызываете, чтобы показать настройки, которые могут понадобиться пользователям, например, подключение к Интернету, NFC и объем аудио. Например, браузер может отобразить панель с настройками подключения, такими как режим самолета, Wi-Fi (включая близлежащие сети) и мобильные данные. Чтобы отобразить панель «Настройки», просто выпустите намерение с одной из новых настроек. Панельные действия .

Обмен ярлыками

Обмен ярлыками делает обмен быстрее и проще, позволяя пользователям прыгать непосредственно в другое приложение, чтобы обмениваться контентом. Разработчики могут публиковать целевые показатели, которые запускают конкретную деятельность в своих приложениях с прикрепленным контентом, и они показаны пользователям в пользовательском интерфейсе. Поскольку они опубликованы заранее, пользовательский пользовательский интерфейс мгновенно загружается при запуске. Обмен ярлыками аналогичен ярлыкам приложений и использует тот же API сочетания . API также поддерживается в библиотеке Androidx Sharetarget. См. Пример приложения для деталей.

Обмен ярлыками позволяет пользователям непосредственно прыгать в определенную деятельность в ваших приложениях с прикрепленным контентом.

Конфиденциальность для пользователей

Конфиденциальность является центральным направлением в Android 10, от более сильной защиты на платформе до новых функций, разработанных с учетом конфиденциальности. Основываясь на предыдущих выпусках, Android 10 включает в себя обширные изменения для защиты конфиденциальности и предоставления пользователям больше контроля, с улучшенным пользовательским интерфейсом системы, более строгими разрешениями и ограничениями на то, какие приложения могут использовать приложения. Смотрите изменения конфиденциальности для получения подробной информации о том, как поддержать их в ваших приложениях.

Пользователи теперь могут предоставить доступ к местоположению, когда приложение находится на переднем плане.

Предоставление пользователям больше контроля над данными местоположения - пользователи имеют больше контроля над данными о местоположении с помощью новой опции разрешения - теперь они могут позволить приложению доступ к местоположению только во время использования приложения (работая на переднем плане). Для большинства приложений это обеспечивает достаточный уровень доступа, в то время как для пользователей это значительное улучшение прозрачности и управления. Чтобы узнать больше об изменениях местоположения, см. Руководство по разработчике или наш пост в блоге .

Защита данных местоположения в сетевых сканировании - Большинство API для сканирующих сетей уже требовали разрешения грубого местоположения. Android 10 увеличивает защиту вокруг этих API , требуя от прекрасного разрешения на местоположение .

Предотвращение отслеживания устройств - приложения больше не могут получить доступ к неретируемым идентификаторам устройств, которые можно использовать для отслеживания, включая устройство IMEI, серийный номер и аналогичные идентификаторы. MAC-адрес устройства также рандомизирован при подключении к сети Wi-Fi по умолчанию. Прочитайте лучшие практики , чтобы помочь вам выбрать правильные идентификаторы для вашего варианта использования, и посмотрите детали здесь .

Защита пользовательских данных во внешнем хранилище - Android 10 вводит ряд изменений, чтобы дать пользователям большее управление файлами на внешнее хранилище и данные приложения внутри них. Приложения могут хранить свои собственные файлы в своих частных песочницах, но должны использовать MediaStore для доступа к общим медиа -файлам и использовать системный сборщик файлов для доступа к общим файлам в новой коллекции загрузок. Узнайте больше здесь .

Блокирование нежелательных перерывов - Android 10 предотвращает запуск приложения с фона, которые неожиданно прыгают на передний план и захватывают фокус из другого приложения. Узнайте больше здесь .

Безопасность

Android 10 представляет ряд функций , которые обеспечивают более безопасные пользователи благодаря достижениям в шифровании, упрочнении платформы и аутентификации. Узнайте больше об обновлениях Android 10 Security здесь .

Шифрование хранилища - Все совместимые устройства, запускаемые с Android 10, необходимы для шифрования пользовательских данных, и для того, чтобы сделать его более эффективным, Android 10 включает в себя Adiantum , наш новый режим шифрования.

TLS 1.3 по умолчанию - Android 10 также позволяет TLS 1.3 по умолчанию, что является основным пересмотром стандарта TLS с преимуществами производительности и повышенной безопасностью .

Платформа Утверждение - Android 10 также включает в себя упрочнение для нескольких критических областей платформы.

Улучшенная биометрия - Android 10 расширяет структуру BiometricPrompt для поддержки пассивных методов аутентификации, таких как лицо, и добавление неявных и явных потоков аутентификации. В явном потоке пользователь должен явно подтвердить транзакцию в TEE во время аутентификации. Неявный поток предназначен для более легкой альтернативы для транзакций с пассивной аутентификацией. Android 10 также улучшает отступление за учетные данные устройства, когда это необходимо. Узнайте больше здесь .

Камера и медиа

Динамическая глубина для фотографий

Теперь приложения могут запрашивать динамическое изображение глубины, которое состоит из JPEG, метаданных XMP, связанных с элементами, связанными с глубиной, и карты глубины и уверенности, встроенной в тот же файл. Они позволяют вам предлагать специализированные блуски и варианты BOKEH в вашем приложении. Динамическая глубина является открытым форматом для экосистемы, и мы работаем с нашими партнерами, чтобы доставить его на устройства под управлением Android 10 и позже.

С динамическим изображением глубины вы можете предложить специализированные разблокировки и варианты боке в вашем приложении.

Аудио воспроизведение захват

Теперь любое приложение, которое воспроизводит аудио, может позволить другим приложениям захватить свой аудио -поток, используя новую API захвата воспроизведения звука . В дополнение к включению подписей и субтитров API позволяет вам поддерживать популярные варианты использования, такие как живые игры. Мы создали эту новую способность с учетом конфиденциальности и защиты авторских прав, поэтому возможность приложения сниматься с ограниченностью другого приложения. Читайте больше в этом сообщении в блоге .

Новые аудио и видеокодеки

Android 10 добавляет поддержку видеокодека с открытым исходным кодом AV1 , который позволяет медиа -провайдерам транслировать высококачественный видеоконтент на устройства Android с использованием меньшей пропускной способности . Кроме того, Android 10 поддерживает кодирование аудио с использованием Opus - открытого, неберипентского кодека, оптимизированного для потоковой передачи речи и музыки - и HDR10+ для видео с высоким динамическим диапазоном на устройствах, которые его поддерживают. API MediaCodeCinfo представляет более простой способ определить возможности рендеринга видео устройства Android. Для любого данного кодека вы можете получить список поддерживаемых размеров и частоты кадров.

Родной MIDI API

Для приложений, которые выполняют свою аудио -обработку в C ++, Android 10 представляет собственную MIDI API для связи с устройствами MIDI через NDK. Этот API позволяет извлекать данные MIDI внутри звукового обратного вызова, используя неблокирующее чтение, что позволяет обработать низкую задержку сообщений MIDI. Попробуйте образец приложения и исходный код здесь .

Направленные, увеличиваемые микрофоны

Android 10 дает вам больший контроль над захватом аудио через новый API микрофонизации . Вы можете использовать API, чтобы указать предпочтительное направление микрофона при принятии аудиозаписи. Например, когда пользователь снимает видео «селфи», вы можете запросить фронтальный микрофон для записи аудио (если оно существует). Кроме того, этот API вводит стандартизированный способ управления увеличиваемыми микрофонами, что позволяет вашему приложению контролировать размер поля записи .

Вулкан везде

Android 10 расширяет влияние Vulkan с нашей реализацией низкоуровневого кроссплатформенного API для высокопроизводительной 3D-графики. Vulkan 1.1 теперь является требованием для всех 64-разрядных устройств под управлением Android 10 и выше, а также рекомендация для всех 32-битных устройств. Мы уже видим значительный импульс поддержки Vulkan в экосистеме - среди устройств, работающих на Android N или выше, 53% поддерживают Vulkan 1,0,3 или выше. С новым требованием в Android 10 мы ожидаем, что усыновление улучшится в следующем году.

Возможности подключения

Улучшение подключения к одноранговому и интернету и интернету

Мы реформировали стек Wi-Fi для повышения конфиденциальности и производительности, а также для улучшения общих случаев использования, таких как управление устройствами IoT и предложение интернет-подключений-без требования разрешения на местоположение. Сетевые API-интерфейсы облегчают управление устройствами IoT через локальный Wi-Fi, для одноранговых функций, таких как настройка, загрузка или печать. API-интерфейсы предложений сети позволяют приложениям приложения предпочтительнее Wi-Fi-сети пользователю для подключения к Интернету.

Режимы производительности Wi-Fi

Теперь приложения могут запрашивать адаптивный Wi-Fi, обеспечивая высокую производительность и режимы низкой задержки . Это может быть большим преимуществом, когда низкая задержка важна для пользовательского опыта, таких как игры в реальном времени, активные голосовые вызовы и аналогичные варианты использования. Платформа работает с прошивкой устройства, чтобы удовлетворить требования с самым низким энергопотреблением. Чтобы использовать новые режимы производительности, вызовите wifimanager.wifilock.createwifilock () с помощью WIFI_MODE_FULL_LOW_LATENCY или WIFI_MODE_FULL_HIGH_PERF . В этих режимах платформа работает с прошивкой устройства, чтобы удовлетворить требования с самым низким энергопотреблением.

Фонды Android

Оптимизация искусства

Улучшения во время выполнения искусства помогают вашим приложениям начинаться быстрее, потреблять меньше памяти и запускать более плавную - не требуя от вас каких -либо работ. Профили искусства , поставленные Google Play, пусть Art предварительнокомпилируйте части вашего приложения еще до его запуска. Во время выполнения, Android 10 добавляет коллекцию мусора поколений в одновременную копирование Art (CC), чтобы сделать сборщик мусора более эффективным с точки зрения времени и процессора, снижает Jank и помогает приложениям лучше работать на устройствах более низкого уровня.

На этом диаграмме показано процентное улучшение времени запуска для конкретных приложений при тестировании с использованием профилей PLAY.

Нейронные сети API 1.2

Мы добавили 60 новых операций, включая Argmax, Argmin, квантованный LSTM, наряду с целым рядом оптимизаций производительности. Это закладывает основу для ускорения гораздо большего диапазона моделей, например, для обнаружения объектов и сегментации изображений. Мы работаем с поставщиками оборудования и популярными фреймворками машинного обучения, такими как Tensorflow, чтобы оптимизировать и развернуть поддержку NNAPI 1.2.

Тепловой API

Когда устройства становятся слишком теплыми, они могут заложить процессор и/или графический процессор, и это может повлиять на приложения и игры неожиданным образом. Теперь в Android 10 приложения и игры могут использовать тепловой API для мониторинга изменений на устройстве и принять меры, чтобы помочь восстановить нормальную температуру. Например, потоковые приложения могут снизить уровень разрешения/бита или сетевого трафика, приложение камеры может отключить вспышку или интенсивное улучшение изображений, или игра может снизить частоту кадров или полигоны. Прочитайте больше здесь .

Совместимость через публичные API

Android 10 продолжает расширять ограничения на не-SDK-интерфейсы, так что приложения постепенно движутся только в направлении использования публичных API . Если интерфейс, который вы используете в настоящее время, ограничен, вы можете запросить новый публичный API для этого интерфейса . Чтобы помочь вам сделать переход и предотвратить нарушение ваших приложений, мы обеспечиваем ограничения только тогда, когда ваше приложение нацелено на Android 10 (API 29). Более подробную информацию о ограничениях, см. Руководство по разработчику .

Более быстрые обновления, свежий код

Android 10 создан для более быстрых обновлений через Project Treble , который обеспечивает последовательный, тестируемый интерфейс между Android и базовым кодом устройства от производителей устройств и производителей кремния. Благодаря высоким характеристикам производители устройств могут быстрее и по более низкой цене Android 10 для устройств, соответствующих тройным, по более низкой цене.

Android 10 также является первым выпуском, который поддерживает Mainline Project (официально называемый обновлениями системы Google Play ), наша новая технология для обеспечения безопасности пользователей Android и поддержания свежих их устройств с важными изменениями кода - прямо из Google Play. С помощью обновлений системы Google Play мы можем обновить конкретные внутренние компоненты на всех устройствах, работающих на Android 10 и выше, не требуя полного обновления системы от производителя устройств.

Для разработчиков мы ожидаем, что эти обновления в Android 10 будут помочь в обеспечении согласованности в реализации платформы на разных устройствах, и со временем принесут большую единообразие, которая снизит ваши затраты на разработку и тестирование.

Начать

Для получения полных ресурсов разработчика для Android 10 посетите Developer.android.com/10 .