В своем блоге для разработчиков компания Google подробно рассказала об изменениях, которые появятся в MessageQueue в Android 17 — это ключевой элемент системы, который используется приложениями Android для отображения пользовательского интерфейса. Как заверяет Google, работа системы должна стать более плавной за счет ряда улучшений.
Android Authority поясняет: в предыдущих версиях ОС программные потоки могли временно блокировать очередь во время работы с MessageQueue, и иногда это приводило к ситуациям, когда одному потоку приходится ждать дольше, чем следовало бы. Если это занимает слишком много времени, важные процессы не завершаются вовремя, что приводит к последствиям для пользователя, таким как выпадение кадров в отрисовке интерфейса.
Google реализовала новую структуру данных MessageQueue без блокировок. По сути, вместо блокировки всей очереди Android 17 реализует новую систему под названием DeliQueue, которая позволяет потокам кода работать параллельно и ограничивать лишь конкретные участки памяти.
Google объясняет, что отказ от старого подхода «по одному потоку за раз» и привел к названию новой системы. Также приводится такая аналогия:
«Это как вытягивать чек в гастрономическом отделе — ваш номер определяется временем вашей очереди, но порядок получения заказа не обязательно должен совпадать».
В своих тестах Google сообщает о снижении количества пропущенных кадров в приложениях на 4%, а в системном интерфейсе и лаунчере — на 7,7%. Android Authority отмечает, что приложения после обновления также должны запускаться немного быстрее.
Есть о чем рассказать? Пишите в наш телеграм-бот. Это анонимно и быстро