Содержание
Google в бета-версии Android 17 показала изменение, которое напрямую влияет на плавность интерфейса. Компания переработала базовый механизм обработки задач, чтобы прокрутка и анимации меньше «сыпались» кадрами даже под нагрузкой.
Если вы ловили микрофризы в ленте, дерганую анимацию шторки или редкие «подвисания» лаунчера, то это как раз тот класс проблем. И приятная часть новости в том, что улучшение не про «косметику», а про внутренности системы.
Google переписала MessageQueue, чтобы снизить пропуски кадров
Ключевое изменение касается подсистемы MessageQueue. Это очередь сообщений, через которую проходят задачи, связанные с отрисовкой интерфейса. Раньше потоки кода могли временно блокировать эту очередь. Другим потокам приходилось ждать, пока доступ освободится.
При коротких задержках пользователь почти ничего не замечает. Но если блокировка затягивалась, часть операций не успевала завершиться вовремя. На экране это выглядело как пропущенные кадры и заметные подтормаживания в анимациях.
DeliQueue в Android 17 убирает глобальные блокировки
Вместо старого механизма Google внедрила структуру DeliQueue. Она не использует глобальные блокировки. Система ограничивает доступ точечно, на уровне конкретных участков памяти. В итоге потоки чаще работают параллельно и реже стоят в ожидании.
В официальном объяснении Google сравнила новый подход с гастрономом. Номер в очереди вы получаете по приходу. Но реальный порядок выдачи может отличаться, потому что заказы готовят с разной скоростью. Логика похожая: система старается не стопорить всех из-за одного «тяжелого» участка.
Подробности компания раскрыла в посте в блоге разработчиков Android.
Тесты: пропущенных кадров меньше на 4-7,7%
По данным тестирования, переход на DeliQueue снизил количество пропущенных кадров:
- на 4% в сторонних приложениях;
- на 7,7% в системном интерфейсе и лаунчере.
Ещё один эффект — ожидается небольшое ускорение запуска приложений. В цифрах это не раскрыли, но логика понятна: меньше ожиданий в очередях — меньше «затыков» на пути к первому кадру.
Отдельно отмечу: 4-7,7% звучит скромно на бумаге. Но в UI важен не средний показатель, а хвост задержек. Если система реже попадает в сценарии с длинной блокировкой, субъективно это ощущается сильнее цифр.
Что это значит для владельцев смартфонов и разработчиков
Для пользователей плюс в том, что улучшение системное. Оно не зависит от того, оптимизировал ли конкретный разработчик своё приложение под «плавность». Если Android реже пропускает кадры на уровне очереди UI, выигрывают и системные экраны, и часть сторонних программ.
Для разработчиков важна предсказуемость. Когда очередь UI не блокируется «глобально», проще держать стабильный фреймтайм. А значит, меньше жалоб на «подлагивания» на мощных смартфонах, где железо давно тянет, а упирается всё в организацию работы потоков.
Проверить детали изменений можно в разборе, на который ссылаются профильные медиа — например, в материале о снижении missed frames в Android 17.
Когда ждать улучшения плавности в Android 17
На момент публикации изменения доступны в бета-версии Android 17. Разработчики уже могут тестировать совместимость своих приложений с новой подсистемой. А пользователи могут оценить эффект на совместимых устройствах Pixel через программу предварительного доступа.
Если Google доведёт DeliQueue без регрессий, это будет один из тех апдейтов, которые не кричат о себе в маркетинге. Но каждый день делают смартфон приятнее в мелочах.