近期,谷歌Pixel手機用戶頻繁反饋,在瀏覽應用時遭遇了屏幕卡頓的困擾。這一問題在谷歌的官方問題追蹤平臺上已存在多時,盡管公司承認了問題的存在,但尚未發布有效的修復措施。谷歌方面的應對策略主要是將用戶投訴標記為重復并關閉,同時建議升級至最新的Android系統版本。然而,用戶的反饋顯示,特別是在Android 16開發者預覽版和Beta 1版本中,這一問題依舊顯著存在。
終于,一位Android內核領域的知名開發者Sultan Alsawaf似乎找到了Pixel手機卡頓問題的真正原因。他指出,問題在于Pixel手機的帶寬管理機制上。為了更直觀地解釋這一問題,我們可以將Pixel手機比作一個資源有限的繁忙辦公室,其中“員工”(即應用和進程)需要共享有限的“辦公空間”(如帶寬等手機資源)。若這些“員工”無法有效協作或溝通,就會導致工作效率低下,甚至混亂。
具體來說,開發者發現“辦公室管理員”(即系統)在安排“員工”使用“辦公空間”時出現了問題。系統中有一個關鍵部分使用了錯誤的“鎖”或“輪流規則”,未能確保一次只有一個“員工”使用“辦公空間”。原本應使用的“鎖”(mutex_lock)能確保資源的有序訪問,但系統卻錯誤地采用了一種更為寬松的鎖(btsdev->lock),這種鎖無法阻止所有“員工”同時工作,從而引發了混亂。
由于這一問題,Pixel手機無法準確計算每個應用所需的帶寬,導致用戶在瀏覽或使用應用時遭遇卡頓和延遲。為了修復這一問題,開發者提出了一個解決方案:為每個“員工”制定明確的帶寬使用時間表,并確保在任何時候都只有一個“員工”使用“辦公空間”。他還修復了系統中另一個導致帶寬計算錯誤的漏洞。
值得注意的是,Sultan Alsawaf已經將自己的代碼修改建議提交給了谷歌,并在自己的自定義內核中實現了這一修復,為Pixel 8用戶發布了補丁。然而,刷入自定義內核存在一定風險,可能導致數據丟失或設備損壞。因此,用戶們仍在期待谷歌通過官方軟件更新來解決這一問題。
我們衷心希望谷歌能夠重視這位開發者提出的修復方案,并進行測試驗證。只有這樣,才能真正解決Pixel手機用戶長期以來的卡頓問題,提升用戶體驗。