В Android 17 Google полностью переосмыслил работу базового механизма обработки сообщений в приложениях:
MessageQueue. Ранее эта очередь использовала один блокирующий lock для синхронизации, что могло приводить к блокировкам UI-потока (например, при одновременной работе фоновых задач) и вызывать задержки в работе интерфейса. Новая реализация под названием DeliQueue отказалась от традиционных блокировок и вместо них применяет lock-free структуры данных: производители сообщений пушат задачи в lock-free стек, а единственный поток UI (Looper) затем переносит их в собственную упорядоченную очередь (min-heap). Это позволяет значительно снизить конкуренцию за ресурсы, улучшить отзывчивость интерфейса и уменьшить количество пропущенных кадров.Такой подход требует глубоких изменений в алгоритмах — например, использования атомарных операций вместо мониторов, обработки «логического удаления» сообщений и тщательного управления памятью — но результаты впечатляют: в тестах многопоточные вставки стали в тысячи раз быстрее, а время, теряемое из-за блокировок, сократилось, что приводило к заметному улучшению производительности UI в реальных приложениях. Разработчикам важно учесть эти изменения, так как новая очередь может повлиять на код, который отражением (reflection) обращается к внутренним полям
MessageQueue.Статья: https://android-developers.googleblog.com/2026/02/under-hood-android-17s-lock-free.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
