谷歌的安卓17 系统打算把手机流畅度再往上提一提,彻底给线程排队死等的情况画上句号

谷歌的安卓17系统打算把手机流畅度再往上提一提,彻底给线程排队死等的情况画上句号。AI导读提到了这次安卓17要搞个叫DeliQueue的新系统,靠着无锁数据结构去优化线程调度。只要搞定这个,应用丢帧率就能降4%,系统界面的流畅度也能涨7.7%。IT之家转发的消息讲得更详细了,科技媒体Android Authority今天(2月18日)出了篇博文,报道说安卓17准备把DeliQueue拉进来。这个法子能让MessageQueue不再搞内存锁定,减少软件线程互相等的时间。平时用手机总碰到卡顿或者滑动不顺畅,通常是因为系统在忙别的任务丢帧了。说到底还是因为线程处理UI显示的时候得排队等着访问MessageQueue核心组件,只要有一个线程把队列锁了,其他线程就只能干等着。为了改掉这个毛病,谷歌打算在底层把MessageQueue大动干戈,换成无锁结构的DeliQueue。这就好比以前一次只伺候一个线程那种老办法没用了,现在能精确控制具体的内存位置。这意味着线程不用死守着锁不放了,能更灵活地一起干活。为了让大家明白这是咋回事儿,谷歌举了个例子:就像在熟食店排队取号一样,拿到号的顾客不用非得按老规矩等前面的人全走完才能动,DeliQueue可以让线程看着资源情况灵活调度。这样一来就不会因为互相等而堵车了。测试下来发现这套系统确实有效,把丢帧率降低了4%,系统界面和启动器更是减到了7.7%。目前谷歌内部还在修这个系统呢,顺便把已经发现的两个漏洞给补上了。