棒棒糖的另一个著名特性是它引入了一个非常成熟的操作系统错误

导读 棒棒糖将作为安卓版本被铭记,它向我们介绍了材料设计的世界,并给安卓试图呈现用户界面的方式带来了相当大的变化。棒棒糖的另一个著名的特

棒棒糖将作为安卓版本被铭记,它向我们介绍了材料设计的世界,并给安卓试图呈现用户界面的方式带来了相当大的变化。棒棒糖的另一个著名的特点是它引入了一个非常成熟的操作系统错误,这最终使UX的变化令人愉快。

丑虫!

MobileRadioActive是棒棒糖中的bug之一,已经影响了很多用户,据说已经在安卓棉花糖中修复了。简而言之,即使禁用了移动数据的使用,安卓系统也会让移动电台保持清醒,从而让设备保持清醒。XDA高级会员巴佐卡泽调查了这个问题,并向我们简要介绍了这个错误的原因:

经过对这个问题的一些调查,我发现BatteryStats服务没有收到无线电电源故障通知。调查带我去了NetworkManagementService.java,发现有些代码在第一次打开无线电电源后就放弃了无线电电源变更通知。

问题是,如果fromRadio参数在设置为true之前为false,则在NetworkManagementServer.java,notifyInterfaceClassActivity方法将放弃电池系统的无线电功率更改通知(通过noteMobileRadioPowerState)。

即使经过详细的分析,也不清楚fromRadio参数真正的作用是什么。在调用方法中将其改为true可以解决测试单元中的问题(索尼Xperia ZL)。

重现这个错误相当简单。所有用户要做的就是启用移动数据,使用一段时间,然后禁用它。一段时间后,请检查您正在使用的应用程序下的“移动数据活动”时间,该时间应明显高于您正在使用的时间。作为确认,“电池待机”选项也显示高功耗,有时甚至高于显示器的功耗。

好解决方案!

h646hEUReddit的用户Chronophasia给我们提供了一个这个bug的样本拷贝,其中只用了几分钟的浏览器(左图)。

幸运的是,XDA高级会员巴佐卡泽已经找到了解决这个问题的办法。该补丁最初是作为索尼Xperia ZL的CM12.1的修改版本出现的,但由于开发者提交的补丁,XDA的高级成员派尔也将其修改为通用的Xposed模块。修复模块仍在测试中,以进一步确认,这就是为什么它目前在Xposed存储库中不可用的原因。但是,您仍然可以从论坛主题中获得最新版本。作为额外的奖励,补丁也已经提交给了氰根Mod审核,应该会尽快投放到夜间。