棒棒糖將作為安卓版本被銘記,它向我們介紹了材料設(shè)計(jì)的世界,并給安卓試圖呈現(xiàn)用戶界面的方式帶來(lái)了相當(dāng)大的變化。棒棒糖的另一個(gè)著名的特點(diǎn)是它引入了一個(gè)非常成熟的操作系統(tǒng)錯(cuò)誤,這最終使UX的變化令人愉快。
丑蟲!
MobileRadioActive是棒棒糖中的bug之一,已經(jīng)影響了很多用戶,據(jù)說(shuō)已經(jīng)在安卓棉花糖中修復(fù)了。簡(jiǎn)而言之,即使禁用了移動(dòng)數(shù)據(jù)的使用,安卓系統(tǒng)也會(huì)讓移動(dòng)電臺(tái)保持清醒,從而讓設(shè)備保持清醒。XDA高級(jí)會(huì)員巴佐卡澤調(diào)查了這個(gè)問題,并向我們簡(jiǎn)要介紹了這個(gè)錯(cuò)誤的原因:
經(jīng)過對(duì)這個(gè)問題的一些調(diào)查,我發(fā)現(xiàn)BatteryStats服務(wù)沒有收到無(wú)線電電源故障通知。調(diào)查帶我去了NetworkManagementService.java,發(fā)現(xiàn)有些代碼在第一次打開無(wú)線電電源后就放棄了無(wú)線電電源變更通知。
問題是,如果fromRadio參數(shù)在設(shè)置為true之前為false,則在NetworkManagementServer.java,notifyInterfaceClassActivity方法將放棄電池系統(tǒng)的無(wú)線電功率更改通知(通過noteMobileRadioPowerState)。
即使經(jīng)過詳細(xì)的分析,也不清楚fromRadio參數(shù)真正的作用是什么。在調(diào)用方法中將其改為true可以解決測(cè)試單元中的問題(索尼Xperia ZL)。
重現(xiàn)這個(gè)錯(cuò)誤相當(dāng)簡(jiǎn)單。所有用戶要做的就是啟用移動(dòng)數(shù)據(jù),使用一段時(shí)間,然后禁用它。一段時(shí)間后,請(qǐng)檢查您正在使用的應(yīng)用程序下的“移動(dòng)數(shù)據(jù)活動(dòng)”時(shí)間,該時(shí)間應(yīng)明顯高于您正在使用的時(shí)間。作為確認(rèn),“電池待機(jī)”選項(xiàng)也顯示高功耗,有時(shí)甚至高于顯示器的功耗。
好解決方案!
h646hEUReddit的用戶Chronophasia給我們提供了一個(gè)這個(gè)bug的樣本拷貝,其中只用了幾分鐘的瀏覽器(左圖)。
幸運(yùn)的是,XDA高級(jí)會(huì)員巴佐卡澤已經(jīng)找到了解決這個(gè)問題的辦法。該補(bǔ)丁最初是作為索尼Xperia ZL的CM12.1的修改版本出現(xiàn)的,但由于開發(fā)者提交的補(bǔ)丁,XDA的高級(jí)成員派爾也將其修改為通用的Xposed模塊。修復(fù)模塊仍在測(cè)試中,以進(jìn)一步確認(rèn),這就是為什么它目前在Xposed存儲(chǔ)庫(kù)中不可用的原因。但是,您仍然可以從論壇主題中獲得最新版本。作為額外的獎(jiǎng)勵(lì),補(bǔ)丁也已經(jīng)提交給了氰根Mod審核,應(yīng)該會(huì)盡快投放到夜間。