iPhone手机持续高耗电之谜

背景

我的iPhone 8在官方天才吧维修换机使用了大概快一年,电池写的容量还有88%,基本上在公司或者在家使用三四个小时就不怎么有电了。除了电池损耗因素外,我发现在熄灭屏幕期间,总是会有个神奇的”音乐”应用每个小时总会运行个10分钟左右,然后实际看耗电程度一点都不比屏幕亮着的时候低频操作低。这到底是怎么回事呢

注: 下图是从1400mah原装电池换装4400mah加厚电池后耗电的结果,基本是半天消耗50%的电量,基本做到充一次可以用一天

思考过程

这个事情的分析我经历了几个阶段

阶段一: 推送太多频繁亮屏耗电

此阶段,我关闭了除去微信QQ之类其他几乎所有类型应用的推送,并且注意平时把手机屏幕朝向下放在桌子上,避免屏幕点亮,但是实测改善不多

这里曾经猜测过是不是App调用系统后台播放音乐的API导致持续耗电。但这是不太可能的,此时App本身也不会被杀掉,所以也会显示在上面的图中

阶段二:苹果黑心后台播放音乐?

概率也不大。我关闭了音乐应用的推送功能,以及后台刷新,后期甚至卸载了音乐应用,问题依然没有改善

阶段三:iMazing自动管理通过WIFI备份数据耗电

终于在几个月的困惑后找到了一点思路。我在家和公司分别在两套macOS系统上部署了通过WIFI自动备份的机制。只要手机连上WIFI,在软件设定的时段(公司是天亮时段,家里是晚上时段),如果手机数据有变动,就会进行自动备份。因为每次备份是增量,数据相对不那么多,所以基本上都在几分钟,十几分钟就结束了。但是在WIFI重新连接后,会重新检查是否需要备份。此时联想起来备份服务是在iOS上很可能是由iTunes集成的,演变之后就变成了音乐应用。于是这样每个小时就有一段时间的后台运行就能对的上了。

后记

对于猜想的验证,接下来如果我关闭WIFI,实际耗电量能大幅减少,并且音乐应用不再出现在关屏时段的后台运行记录中,则证明我的猜想成立。实际我还没有去测试。主要是因为我即使验证了,也不会停止备份,电量还是会消耗。而最实用的解决方案我已经做了,就是换了一枚加厚版的超大电池,实际效果非常显著,续航翻了三四倍,虽然代价是IP67的防水功能不复存在以及手机加厚(虽然更厚但是和之前加壳后没有数量级差别,但已经很实用了。后续如果想彻底解决,iMazing备份检查的时间差如果能调整,就比较完美了。

2020年11月2日补记: iMazing已经提供了在固定时段(按小时记)来进行自动备份,iPhone 12下实测效果非常好,在允许的时间段之外再也没有看到”音乐”App的运行记录。另外还有一点,就是新手机由于CPU、内存和存储性能都提高很多,所以每天的差异备份时间明显缩短,实测大概从wifi下1~2小时减少到约30分钟。而我也通过console中手机日志过滤出BackupAgent2来分析,实际耗电最大的是备份前检查文件差异这个阶段,备份进程会挨个分析每个App的用户文件,检查哪些需要备份。我查看了日志中的信息,而其中检查时间最长的是微信,每次检查是16万+个文件,原因很明确,是因为我从iPhone 4s开始,就一直聊天记录同步到后来换机的iPhone6, iPhone 8,一直到现在的iPhone 12。所以如果为了加快备份速度,及时清理历史图片,应用缓存等会大大加速备份过程。