Pixel用户长期以来一直抱怨在浏览应用时出现屏幕卡顿现象。这个问题在Google的问题追踪器上已经存在了一段时间。尽管公司已经承认了这个问题,但至今没有发布修复程序。它一直将问题追踪器上的投诉标记为重复并关闭,同时建议用户尝试更新的安卓版本。然而,这个问题依然存在,特别是在Android 16开发者预览版和beta 1版本中,用户更容易察觉到这一问题。
现在,看起来一位开发者已经揭开了为什么Pixel手机会出现卡顿问题的谜团。
根据知名安卓内核开发者Sultan Alsawaf的说法,问题出在Pixel手机的带宽管理上(来源:Piunikaweb)。
你可以在下面的截图中看到他的技术解释,但为了更好地理解,可以把你的Pixel想象成一个繁忙的办公室,里面有很多工作人员(应用和进程)需要共享有限的办公桌空间(手机的资源,如带宽)。如果工作人员没有轮流共享空间或者没有进行适当的沟通,事情就会变得混乱,工作效率也会下降。在这种情况下,“工作人员”就是手机系统中不同部分正在争用带宽。
现在,开发者发现问题出在办公室管理员(系统)身上,因为它没有正确组织谁在何时使用办公桌空间(带宽)。
具体来说,系统中有一个部分使用了错误的“锁”或“轮流使用规则”。它没有使用正确的锁(mutex_lock),这个锁确保一次只有一个工作人员可以使用办公桌空间,而是使用了一个不那么严格的锁(btsdev->lock),这个锁并没有阻止工作人员同时工作,从而导致了混乱。
开发者表示,正因为如此,Pixel手机无法正确计算每个应用需要多少带宽,导致在滚动或使用应用时出现卡顿和延迟现象。
他的修复方法是为每个人提供一个明确的带宽使用时间表,并确保每次只有一个工作人员可以使用办公桌空间。开发者还解决了系统未能正确计算带宽的另一个问题。
他已经将自己建议的代码修改提交给了Google。他还在自定义内核中为Pixel 8用户实施了该修复,并发布了一个补丁。然而,刷入自定义内核存在风险,可能会清除数据,甚至可能导致设备变砖。因此,最终还是需要Google通过软件更新为所有用户实施该修复。我们希望Google能注意到开发者提出的修复方案,并进行测试,以确认是否能够解决问题。