• 社区
  • 圈子
圈子 iQOO Z系列 帖子详情
探讨:iqoo z8更新Origin os4 后高耗电的可能原因
白色的狮子
iQOO Z8
iQOO Z系列
iQOO Z8系列

写在前面:

    手机当前系统版本是最新的PD2314_A_14.1.14.1W10.V000L1,从origin os3 09版本直接升级上来的,相比origin os3的09版本,os4的14版本耗电量几乎翻倍。


    之前在翻手机设置的时候注意到一个有趣的细节,整夜充电中设备后台占用几乎是满的,查看后台主要为QQ、微信,并且几乎每小时的记录都是息屏活动59分钟,并且之后再次整夜充电,依旧能复现这个情况。

电池充电记录与活动时长,可见充电时系统后台异常活跃

    而在非充电状态,息屏活动明显正常了很多,除了系统桌面19分钟外,其他大多是5-7分钟。

非充电状态下后台活动记录

    本来只是注意到这个奇怪的现象,但是在隔壁360社区讨论安卓的dex2oat机制时,有大神提醒到安卓10之后谷歌只允许安卓系统执行dex2oat优化,并提到该策略导致手机耗电增加,并提供了一份字节跳动关于安卓优化机制探究的文章。

    字节跳动的技术文章指出,系统级dex2oat触发条件为设备空闲且充电。

字节跳动关于dex2oat的文章

    所以当时就有了猜测,z8更新origin OS4后耗电暴涨,可能是充电时后台异常导致系统dex2oat无法达成触发条件,程序一直工作在jit模式。

    随后联系上了那位大神,大神建议我用adb强制编译后测试一下,并给了AOSP中ART即时编译器的官方文档链接。

ART即时编译器的文档

    之后就是验证,开启手机的开发者模式,打开USB调试,使用adb工具,以speed模式强制编译所有应用。

    命令为:

.\adb shell cmd package compile -m speed -f -a

    经过两小时的漫长等待后编译完成,编译后手机存储空间多占用了10g。

    经测试,强制编译后的iqoo z8,origin os4 PD2314_A_14.1.14.1W10.V000L1版本系统,耗电恢复到了origin os3 09版本水平,相比编译前电池耐用几乎一倍。


所以可以放上结论:

    (大概能确认的部分)iqoo z8 origin os4耗电问题是系统dex2oat工作异常导致的。

    (猜测的部分)dex2oat工作异常是因为插上充电器后一些软件后台异常活跃,导致一直无法满足系统dex2oat充电且空闲的优化条件。

发布时间 2024年10月29日 15:09
安徽
2214
13