Lollipop的另一个著名之处是它引入了一个非常接近成熟的操作系统错误

2020-08-21 09:41:35 来源: INeng财经

Lollipop将被记住是Android版本,它向我们介绍了Material Design的世界,在Android尝试呈现UI的方式上带来了相当大的变化。Lollipop的另一个著名之处是它引入了一个非常接近成熟的操作系统错误,最终使UX的变化令人愉悦。

丑虫!

MobileRadioActive是Lollipop的那些臭虫之一,该臭虫已影响到许多用户,并且据说已在Android Marshmallow中修复。简而言之,即使禁用了移动数据使用,Android系统仍将保持移动无线电的唤醒状态,从而使设备保持唤醒状态。XDA高级会员 Bazoocaze 调查了此问题,并向我们简要介绍了导致此错误的原因:

在对该问题进行了一些调查之后,我发现BatteryStats服务未收到无线电掉电通知。调查将我带到NetworkManagementService.java,在这里我发现一些代码在第一次打开无线电电源后就放弃了无线电功率更改通知。

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

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

重现此错误相当简单。用户要做的就是启用移动数据,使用一会儿,然后再禁用它。一段时间后,请检查所用应用程序下的“移动数据活动”时间,该时间应明显高于您所使用的时间。作为确认,“ Cell Standby”选项也会显示高耗电量,有时甚至比显示器的功耗更高。

不错的解决方法!

h646hEUReddit用户Chronophasia向我们提供了此bug的 示例复制,其中仅使用了几分钟的浏览器(左图)。

值得庆幸的是,XDA高级会员 Bazoocaze 已经找到了解决该问题的方法。该修补程序最初是作为针对Sony Xperia ZL的CM12.1修改版而来的,但是由于开发人员提交了补丁程序,XDA高级会员 pyler也将其修正为通用Xposed模块。该修复模块仍在测试中,以进行进一步的确认,这就是为什么它在Xposed存储库中当前不可用。但是,您仍然可以从论坛主题中获取最新版本。作为一项额外的奖励,补丁程序也已提交给CyanogenMod进行审查,应尽快进入夜间。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。