Android 16 выходит сенсацией, принося одно из тех улучшений, которые, хотя и не появляются в самых ярких рекламе, Они действительно могут изменить то, как вы используете свой мобильный телефон в повседневной жизни.Мы говорим о новой системе обновления приложений, которая фактически устраняет раздражающие паузы при обновлении приложения в фоновом режиме.
Ключ кроется в сочетании технических изменений под капотом: от так называемых плавные обновления приложений (бесшовные обновления приложений) до тех пор, пока облачная компиляцияЭто включает в себя изменения в среде выполнения Android, разрешениях, адаптивном дизайне и безопасности. Всё это интегрировано в Android 16, так что обновление или установка приложения больше не будет моментом, когда вы скрещиваете пальцы и надеетесь, что ваш телефон не зависнет.
Что изменилось в обновлениях приложений с Android 16?
До сих пор, каждый раз при обновлении приложения, операционной системе приходилось «заморозь» на несколько секунд заменить код и внутренние ресурсы, не рискуя повредить данные или неожиданно завершить работу. Эта временная заморозка была необходимой мерой для поддержания стабильности, но на практике она могла быть весьма неудобной.
Когда затронутое приложение было легким, эта блокировка оставалась практически незамеченной; однако в случае тяжелые приложения или приложения, играющие критическую роль в системеЭтих нескольких секунд было достаточно, чтобы другие приложения, которые от него зависали, начали работать нестабильно, зависать или периодически выдавать ошибки. Если вы ежедневно используете много приложений, вы, вероятно, замечали небольшие подтормаживания или странные паузы сразу после того, как Play Store завершил несколько обновлений одновременно.
Android 16 делает значительный шаг в этой области, более агрессивно применяя философию плавные обновления приложенийЦель состоит не только в том, чтобы сократить общее время процесса обновления, но и интервал, в течение которого приложение полностью неработоспособно, сокращается до доли секундыдо такой степени, что на практике вам может быть даже трудно это воспринять.
Согласно документации и объяснениям Google, период заморозки приложения во время его обновления меняется с «от нескольких секунд» до «десятков миллисекунд»Другими словами, он переходит от четко видимой паузы к чему-то, что, если вы не следите за каждой деталью, ощущается как простое моргание.
Как Android 16 сокращает паузу в обновлениях?
Чтобы добиться такого радикального сокращения, Android 16 не прибегает к некачественным сокращениям; он делает следующее: реорганизовать порядок, в котором система выполняет очень тяжелые задачи во время установки и обновления приложения. Секрет в том, чтобы перенести дорогостоящую работу на критический момент, когда приложение необходимо остановить.
Ключевые моменты здесь: дексопт y dex2oat, два компонента среды Android Runtime (ART), отвечающие за Оптимизировать байт-код приложенияТрадиционно значительная часть их работы выполнялась именно тогда, когда приложение было заморожено, что удлиняло окно бездействия на несколько секунд, особенно на медленных устройствах или с очень большими приложениями.
С Android 16 Google переносит эти процессы на предварительный этап процесса установки или обновленияСистема выполняет большую часть оптимизации до достижения критической точки, требующей замены старых файлов новыми. Таким образом, когда приложение необходимо заморозить, системе достаточно выполнить лишь быструю замену заранее подготовленных файлов, сокращая паузу до нескольких десятков миллисекунд.
Такой подход имеет двойное преимущество для пользователя: с одной стороны, Вы замечаете, что обновления происходят почти мгновенно.Это связано с тем, что приложение практически никогда не выходит из строя; с другой стороны, сохраняется тот же уровень безопасности и согласованности данных, поскольку проверки и оптимизации по-прежнему выполняются, просто они переносятся на тот этап процесса, где они гораздо менее разрушительны.
Важно понимать, что Android 16 Он не удаляет dexopt или dex2oat.При этом критически важные элементы управления не удаляются. Меняются лишь время и способ их выполнения: система избегает их выполнения, когда приложение зависло, и перемещает их в предыдущую точку, или даже полагается на другие улучшения, такие как облачная компиляция, благодаря чему часть этой работы уже выполняется с серверов Google.

Реальное влияние на повседневное использование: много обновлений, меньше проблем
Если у вас телефон с небольшим количеством лёгких приложений, которые обновляются очень редко, эти изменения, вероятно, покажутся вам незначительными. Тем не менее, улучшается общее ощущение текучести системыпотому что небольшие подтормаживания и моменты, когда приложение кажется «зависшим», случаются реже или практически не видны.
Это изменение по-настоящему проявляется в более требовательных сценариях: мобильные телефоны с десятками установленных приложений, ресурсоемкие игры, сервисы, которые часто обновляются или в средах, где несколько приложений зависят друг от друга. Сокращение времени простоя между обновлениями означает, что вы заметите меньше сбоев в работе интерфейса, меньше непредвиденных ожиданий и в целом работа станет гораздо стабильнее.
Есть один особенно деликатный случай: приложения, которые действуют как центральный компонент для других приложений или для самой системыНапример, клиенты обмена сообщениями, службы безопасности, общие библиотеки или системные компоненты. Если в предыдущих версиях Android одно из этих приложений зависало на несколько секунд, это могло повлиять на всё, что от него зависло. В Android 16 этот интервал настолько короток, что влияние на цепочку зависимостей значительно снижено.
Кроме того, это улучшение особенно приветствуется на телефонах начального уровня или нижнего среднего уровнягде аппаратное обеспечение сильнее страдает при работе с большими установками. На таких устройствах задачи оптимизации могут значительно нагружать процессор, вызывая более длительные задержки, чем хотелось бы. Android 16 не только реорганизует локальные процессы, но и поддерживает часть нагрузки в облаке чтобы разгрузить устройство, о чем мы поговорим далее.
Облачная компиляция: более быстрая установка, особенно на недорогих мобильных устройствах
Помимо ускорения обновлений, Android 16 представляет функцию, направленную на первоначальная установка приложений и игрс явным акцентом на менее мощные устройства. Это так называемый облачная компиляция (облачная компиляция), цель которой — перенести большую часть тяжелой работы, которая ранее выполнялась исключительно на телефоне, на серверы Google.
Когда вы устанавливаете приложение на Android, система использует ART для запуска его кода. В этом процессе инструмент dex2oat берет файлы .dex из APK — которые содержат байт-код — и генерирует несколько артефактов времени выполнения, которые позволяют приложению запускаться и работать быстрее и эффективнее. Эти артефакты включают в себя такие файлы, как .vdex, .odex или .art, в которых хранятся метаданные, предварительно скомпилированный код и готовые к использованию внутренние структуры.
На мощных мобильных телефонах эти артефакты обычно генерируются довольно быстро и практически незаметно для пользователя. Но на бюджетные телефоны со скромными процессорами и медленной памятьюТакая локальная компиляция может стать узким местом, особенно если APK содержит много файлов .dex или представляет собой очень большую игру.
В Android 16 используется другой подход: вместо того, чтобы заставлять устройство компилировать все локально, Загрузите некоторые из этих предварительно скомпилированных артефактов из Google Play.В настоящее время большинство пользователей имеют достаточно хорошее соединение Wi-Fi или мобильной связи, поэтому во многих случаях эффективнее «использовать сеть», чем заставлять центральный процессор телефона работать интенсивнее в течение долгих секунд или минут.
Secure Dex Metadata (SDM): роль предварительно скомпилированных артефактов
Облачная компиляция основана на новом типе файла, называемом SDM (безопасные метаданные Dex)Эти файлы загружаются вместе с APK из Play Store и содержат артефакты, ранее созданные в инфраструктура Google с использованием dex2oat, готов к использованию устройством без повторения всей локальной работы по компиляции.
Ключевой деталью является то, что эти файлы SDM Они подписаны тем же ключом, что и сам APK.Это позволяет системе убедиться, что артефакты получены из легитимного источника, не были изменены и соответствуют версии устанавливаемого приложения. Благодаря этой проверке целостности телефон может доверять им и использовать их для ускорения установки без ущерба для безопасности.
На практике это означает, что с Android 16 система Во многих случаях можно избежать запуска dex2oat на самом устройстве.Особенно во время первоначальной установки. В результате снижается нагрузка на процессор, снижается энергопотребление во время установки и значительно сокращается время ожидания, особенно при загрузке больших приложений или игр.
Однако вся эта облачная инфраструктура компиляции требует, чтобы Google настраивает Play Store для создания и распространения SDM в больших масштабахНа ранних этапах эта функция может присутствовать в системе, но не быть полностью реализована на всех приложениях и устройствах. Активация обычно происходит постепенно, поэтому не ждите мгновенных чудес на любом совместимом телефоне с первого дня.
Как связаны быстрые обновления и создание облака?
Может показаться, что непрерывные обновления Облачная компиляция и облачное построение — это отдельные темы, но на самом деле они вписываются в одну и ту же головоломку: они оба вращаются вокруг когда и где генерируются артефакты выполнения приложенияAndroid 16 переносит выполнение таких процессов, как dexopt и dex2oat, на менее критичные фазы и, в то же время, позволяет выполнять большую часть этой работы даже вне устройства.
С одной стороны, реорганизация процесса установки минимизирует время, необходимое для заморозки приложения, концентрируя его на простом обмене заранее подготовленными файлами. С другой стороны, Загрузите готовые к использованию устройства из облака Это снижает необходимость локальной компиляции как при новых установках, так и при некоторых обновлениях, тем самым сокращая общее время.
В совокупности этот двойной подход преследует совершенно ясную основную цель: чтобы Android работал плавно даже на скромном оборудованиисокращение времени простоя и смягчение побочных эффектов, которые обновления могут оказывать на другие приложения и службы, работающие одновременно.
Изменения в дизайне, навигации и пользовательском опыте Android 16
Улучшения в обновлениях и установках сопровождаются рядом изменений в поведении, которые Они затрагивают как приложения, ориентированные на новый уровень API (targetSdkVersion 36), так и саму систему.Многие из них не связаны напрямую с обновлениями, но они влияют на восприятие производительности и согласованности интерфейса.
В области дизайна Android 16 объединяет интерфейсы Edge-To-EdgeПриложения, ориентированные на эту версию, больше не смогут произвольно отключать режим «от края до края» с помощью атрибута windowOptOutEdgeToEdgeEnforcement. Это вынуждает разработчиков адаптировать свои дизайны для корректной работы в полноэкранном режиме, лучше интегрируясь с жестами, панелями навигации и фоном.
Навигация также делает шаг вперед с нормализация предиктивного обратного жеста Для приложений, ориентированных на Android 16. На устройствах с этой версией больше не вызывается onBackPressed и не отправляется клавиша KEYCODE_BACK, как в предыдущих версиях; вместо этого система отображает анимацию, которая предугадывает, куда перенесет вас жест «Назад» (на предыдущий экран, на главный экран и т. д.).
Разработчики, которые полагались на старое поведение, должны перейти на новые навигационные API В качестве альтернативы можно временно отключить предиктивное поведение, используя атрибут `android:enableOnBackInvokedCallback=false` в манифесте. Это потребует некоторых изменений в приложениях, но взамен вы получите более понятную и интуитивно понятную навигацию для пользователя.
Внутренние настройки для разработчиков: задачи, текст и большие экраны
На более техническом уровне Android 16 вносит изменения в обработку некоторых запланированных задач и поведение некоторых свойств, связанных с текстом и адаптивным дизайном. Всё это указывает на более предсказуемая система с меньшим количеством пиков нагрузки, за счет того, что разработчикам придется пересмотреть некоторые предыдущие предположения.
Например, метод scheduleAtFixedRate изменяет свою семантику: когда приложение бездействовало и возобновляет работу, «Проигранные» казни больше не каскадируются.Но только один. Это помогает избежать резких скачков нагрузки, которые могут привести к задержкам или пиковому потреблению ресурсов, хотя приложениям, использующим этот шаблон, необходимо пересмотреть свою логику.
Что касается типографики, атрибут elegantTextHeight больше не имеет эффекта В приложениях, ориентированных на Android 16, так называемые «элегантные шрифты», предназначенные для улучшения представления определенных языков (арабского, тайского, тамильского, различных индийских алфавитов и т. д.), больше не поддерживаются, поэтому разработчикам приходится планировать собственную типографскую стратегию, которая адекватно охватывает эти языки, не полагаясь на эту автоматическую корректировку.
Большие экраны — планшеты, складные устройства, настольные компьютеры, автомобили и телевизоры — также находятся под сильным влиянием этой версии. Android 16 закрепляет идею конструкции, действительно адаптируемые к большим диагоналямНа устройствах с разрешением не менее 600 dp некоторые ограничения по ориентации, изменению размера или соотношению сторон, заявленные в манифесте, игнорируются. В результате приложение разворачивается на всё окно, избегая искусственных чёрных полос (пилларбоксинга) или принудительной вертикальной или горизонтальной ориентации.
Исключения есть для игр, некоторых случаев, настраиваемых пользователем, и небольших экранов, но в целом правило ясное: Android хочет, чтобы приложения естественным образом масштабировались на больших экранахСуществует временное решение с использованием свойства android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY на уровне активности или приложения, но Google уже предупредил, что оно исчезнет в будущих версиях (API 37), поэтому лучше адаптироваться как можно скорее.
Новые разработки в области цифрового здравоохранения, связи и конфиденциальных разрешений
Android 16 использует возможность дальнейшего усиления защиты данные о здоровье и физической активностиОбщие разрешения BODY_SENSORS и BODY_SENSORS_BACKGROUND заменяются более детализированными разрешениями в пространстве android.permissions.health, соответствующими платформе Health Connect.
Приложения, которым требуется читать конфиденциальную информацию, например частота сердечных сокращений или другие параметры здоровьяОни должны запрашивать определённые разрешения, такие как READ_HEART_RATE, а также демонстрировать видимую активность в отношении политики конфиденциальности. Несоблюдение этих требований может привести к отзыву системой разрешений, что ограничит доступ к этим данным.
В области Bluetooth появляются новые намерения, такие как ACTION_KEY_MISSING и ACTION_ENCRYPTION_CHANGEЭти функции разработаны для более эффективного управления потерями ключей сопряжения или изменениями в шифровании соединения. Приложения, управляющие сопряженными устройствами, получают более точную реакцию на аномальные состояния или различия между производителями.
Кроме того, все приложения, разработанные для Android 16, имеют публичную функцию в CompanionDeviceManager для удаления сопряжения Bluetooth связанных устройств: метод removeBond(int) позволяет отменить связь, связанную с ассоциацией CDM, и вы можете прослушивать ACTION_BOND_STATE_CHANGED, чтобы следить за развитием состояния сопряжения.
Повышенная безопасность: графический процессор Mali, намерения и локальная сеть
Android 16 также усиливает безопасность по нескольким ключевым направлениям. Одно из них — доступ к Графический процессор Mali в устройствах PixelЭто обновление блокирует старые IOCTL или те, которые предназначены исключительно для разработки, и ограничивает профилирование IOCTL-запросами для процессов оболочки или отлаживаемых приложений. Теоретически, обычные приложения, использующие стандартные графические API, такие как Vulkan или OpenGL, не должны быть затронуты, но оно блокирует потенциальные векторы атак на уровне ядра.
Другим важным моментом является прогресс инициативы по «Более безопасные попытки»Используя атрибут intentMatchingFlags, можно активировать гораздо более строгий режим разрешения намерений: явные намерения должны явно соответствовать фильтру целевого компонента, а намерения без действия перестают соответствовать фильтрам, если не используются специальные флаги, такие как allowNullAction.
Этот режим может применяться на уровне приложения или к каждому компоненту (активность, служба, приемник) с использованием таких флагов, как forceIntentFilter или нети сопровождается сообщениями журнала для отладки заблокированных намерений. Идея состоит в том, чтобы постепенно приблизить экосистему к модели, в которой это строгое разрешение станет поведением по умолчанию в будущих версиях.
Что касается конфиденциальности сети, Android 16 представляет новые вызовы Защита локальной сети (Защита локальной сети). До сих пор любое приложение с разрешением на доступ в Интернет могло свободно взаимодействовать с устройствами в локальной сети, что открывало возможности для использования цифровых отпечатков или использования локальной сети в качестве приблизительного сигнала местоположения.
Доступ к локальным адресам
Благодаря этим мерам защиты доступ к локальным адресам (таким диапазонам, как 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 169.254.0.0/16, 100.64.0.0/10, multicast 224.0.0.0/4, ff00::/8 и т. д.) Он остается за определенными разрешениями группы близлежащих устройств.На первом этапе (Q2 25) приложения могут активировать эти ограничения через фреймворк совместимости и тестировать варианты их использования; когда для пакета активен флаг RESTRICT_LOCAL_NETWORK, трафик в/из локальной сети генерирует ошибки, если у приложения нет соответствующих разрешений.
На этом начальном этапе достаточно подать заявление и получить разрешение. NEARBY_WIFI_DEVICES для восстановления доступа к локальной сети, соответствующая мера для безопасность онлайн-процедурОднако Google планирует позже ввести ещё более конкретное разрешение для этой же группы. Трафик в обычном интернете останется без изменений, что минимизирует влияние на обычное использование.
Также внесены изменения в управление доступом к фотографиям и видео. На устройствах под управлением Android 16, когда приложение, ориентированное на SDK 36, запрашивает разрешения на доступ к медиафайлам, а пользователь решает предоставить доступ только к выбранным элементам, Фотографии и видео, созданные этим приложением, отображаются как предварительно отобранные. в селекторе. Пользователь может вручную снять с них флажки, что закроет приложению доступ к этим файлам и усилит контроль над содержимым.
Какие телефоны получат Android 16 и как будет осуществляться его внедрение?
Android 16 следует календарь опережает другие версииБета-версии выходят раньше обычного. Первая бета-версия вышла некоторое время назад, а бета-версия 2 уже выходит, в основном для улучшения таких аспектов, как фотосъёмка.
Google пикселей Они, как всегда, первые в списке. Смартфоны Pixel 6 и более поздние модели получают бета-версии Android 16 с такими улучшениями, как гибридная автоматическая экспозиция в Camera2, тонкая настройка цветовой температуры и оттенков для профессионального видео, улучшенная поддержка фотографий в движении и совместимость с изображениями UltraHDR в формате HEIC, а в будущем и с AVIF.
Помимо Pixel, Такие производители, как Samsung и Xiaomi, уже выпускают Android 16. в различных моделях среднего и высокого класса, в то время как такие бренды, как Motorola и OnePlus, опубликовали собственные графики обновлений. Это означает, что новые функции, такие как практически мгновенные обновления, облачные сборки, более детальное управление правами доступа и адаптивный дизайн, в ближайшие месяцы получат всё больше пользователей.
Улучшения Android 16 в других источниках
Android 16 также предлагает конкретные улучшения на других фронтах: система измерений, которая адаптируется к языку (например, дюймы в американском английском и метрическая система в европейских конфигурациях), Android 16 TV с новыми API Для аудио- и фотопрофилей предусмотрен виджет выбора профиля для переключения пользователей с главного экрана, а также возможность назначить двойное нажатие кнопки питания на Google Wallet для быстрого доступа.
Благодаря этому набору изменений Android 16 не только ускоряет обновление приложений и установку новых приложений, но и Он улучшает навигацию, повышает безопасность, лучше обрабатывает данные о состоянии здоровья, лучше адаптирует интерфейсы к большим экранам и предоставляет разработчикам дополнительные инструменты..
Результатом для пользователя является система, которая ощущается более стабильной, менее навязчивой при обновлениях и лучше подготовленной к сосуществованию со все более сложной и требовательной экосистемой приложений. Поделитесь этой информацией, чтобы больше пользователей узнали о быстрых обновлениях своих приложений на Android 16.