Android 17引入新机制以降低线程等待时间。
谷歌正在Android 17中推行一项底层优化,旨在减少软件线程在执行过程中因相互等待而导致的延迟。这一改进聚焦于MessageQueue系统的重构,该系统是Android应用渲染用户界面的核心组件。过去,当某个线程访问消息队列时会锁定整个结构,导致其他线程必须排队等待,进而可能引发关键任务超时和画面掉帧。
Android 17采用名为DeliQueue的新架构实现更精细的内存访问控制。
为解决上述问题,Android 17弃用了传统的加锁机制,转而采用一种称为DeliQueue的无锁数据结构。这种设计允许多个线程对队列的不同部分进行并发操作,避免了“一个线程阻塞全体”的情况。谷歌将其比喻为熟食店取号排队:虽然按到达顺序取号,但服务顺序可以更灵活高效,从而减少整体等待时间。
系统流畅度测试结果显示掉帧率显著下降。
根据谷歌公布的测试数据,在应用程序场景中,掉帧(missed frames)现象减少了4%;而在系统UI和主屏幕等核心交互界面,掉帧率降幅高达7.7%。尽管这一改善看似微小,但它意味着日常滑动、切换应用和启动操作将更加顺滑稳定。此外,应用冷启动速度也有望得到轻微提升。
DeliQueue已进入实际验证阶段,目前面向Pixel设备开放测试。
谷歌表示,DeliQueue已在内部经过严格测试,并修复了初期发现的两个潜在问题。不过开发者仍需对其应用进行兼容性验证,以确保在新机制下正常运行。Android 17目前已进入公开测试阶段,支持Pixel系列手机用户参与体验。
来源:Android Authority(发布于2025年4月)
参考链接:
https://www.androidauthority.com/android-17-missed-frames-3641660
热门跟贴