记一次对自己的 Android 手机不断唤醒无法休眠的问题排查(时间:20170605)

2017年6月5日 2 条评论 1.31k 次阅读 0 人点赞

好久没更新博客了,实际上我存了很多乱七八糟的东西,只是没写出来,因为自己懒。_(:3」∠)_

今天就给大家分享下自己遇到手机不断唤醒无法休眠时,是怎么做的的一次经历吧,希望能帮到有类似经历的你们。

如何发现的

说起这个不断唤醒的问题,最直接的表现就是:掉电厉害。我是一次睡觉睡醒的时候,突然发现自己的手机竟然已经快要低电量了,然后当我去设置里的查看电池耗电时,发现唤醒条就没有中断过(也就是说不管我屏幕关没关,手机都在全功率运行),我这才发现了问题。而由于自己并不会更深层次的排查,所以解决这个问题花了我很多的时间(大概几个小时,深夜)。

排查过程

开始之前的重要说明:

后面的操作只是从应用方面进行排查,这是因为我有把握我对系统设置如 GPS,蓝牙之类的都没有与之前的手机设置进行过变更,而以前我的手机并没有这般耗电,也没有唤醒的问题,所以我断定问题主要还是出现在应用上。如果你的手机耗电异常,在开始之前记得先检查自己是否在一些设置上不小心改变过。如:打开了 GPS 定位,打开了蓝牙,屏幕亮度调节过大之类的。

阶段一:从新安装的应用查起

因为我平常玩手机还是比较多的,所以对自己的手机还算了解,不断唤醒的问题很显然不是一直都有的,肯定是因为我最近装了什么应用才造成的这个结果,所以最初肯定是要从最近新安装的应用查起了。

那么怎么排查呢?这里就要说一下博主以前推荐的一个应用——冰箱了。简单的介绍可以看我以前写的博文:点击打开

排查方法很简单:将最近安装的应用,以我个人觉得的有嫌疑的概率,分批次的冻结。分批次冻结自然是为了节省时间和避免太多次重复操作产生疲劳,不然一个一个来的话,实在是太漫长了。

当冻结一个批次后,锁屏几分钟,再打开手机设置→电池,查看唤醒是否被中断过。这里说明下,因为我的手机问题是不断唤醒,唤醒条中间没有中断过,所以锁屏等待时间不用太长,只需要看到唤醒条出现过中断,基本上就能知道是哪个批次的应用导致的问题了。

当进行上面的操作后,如果发现了某个批次的应用被冻结之后,唤醒条出现了中断,那么,只需要再对这个批次里的应用进行冻结并锁屏,解锁屏幕并查看设置→电池里的唤醒条是否中断的操作就可以了。这样慢慢的排查下来,就可以知道是哪个应用的问题了。

不过很可惜,我这样排查了一段时间,并没有找到元凶。这可能是因为我冻结过的应用不够多造成的。因为如果你有时间慢慢试的话,是应用导致的唤醒异常的问题用这种方法肯定能排查出来的。但是博主我的耐心不够,所以我就进行了第二阶段的排查。

阶段二:对常用且比较耗电的应用进行排查

前面我也说过,我的手机以前没有问题的,而当时这些常用应用就已经存在了,所以一般来说,可以排除对它们的怀疑的。但是,由于前面博主耐心被耗尽,排查新安装的应用不够彻底,所以不得不转移下目标,怀疑起了 QQ 这样的应用——毕竟要说耗电,它嫌疑还挺大的。

可惜我这次还是失败了。

由于 QQ 我已经用写轮眼(不知道的可以查查哦,My Android Tools)调教过,所以其实它的耗电及流氓程度都有了一定的改善,而且以前我就安装过 QQ,那时可没有唤醒异常的问题。所以当我尝试着冻结后观察唤醒条,甚至是把它卸载了时,都没有丝毫的改善唤醒异常的问题(其它的几个老应用也是如此),所以这步算是失败了。

阶段三:扩大阶段一中的应用排查范围

前面阶段一已经冻结过一次的应用这次就不用再查了,阶段三主要是查那些近期安装的,我还没冻结过的应用。这一次我还拿出了另一个辅助排查的工具:BetterBatteryStats。

BetterBatteryStats 是一个能记录电池耗电情况的工具,用它你可以找出是什么应用在频繁的唤醒手机,以及唤醒时间。如果是一些简单的应用耗电问题,装上它来排查是个很不错的选择。但是这次,它没有派上什么用场,单从记录上的几个应用下手,并没有什么改善,所以我还是继续和阶段一一样的操作:冻结→锁屏等待几分钟→开屏查看设置→电池→唤醒条是否出现过了中断。

最终,让我找到了元凶——一个天气应用。

解决问题并分析原因

根据前面的排查过程,在我冻结一个天气应用后,唤醒条总算是喜人的出现了中断,也就是说,导致我的手机耗电异常且不断唤醒的元凶就是这个天气应用(应用名称就不说了)。既然知道了元凶,那么怎么解决问题就很简单了:

1.卸载应用

2.冻结应用

3.排查该应用是如何导致手机不断唤醒的

嗯,博主我这会闲了,而且我觉得这个天气应用还是很良心且好用的,所以我选择了 3。

找原因的过程就不说了,其实也就是三个字:靠经验。因为我原先也遇到过一次不断唤醒的问题,原因是某个应用的权限没给足造成的。谷歌的系统更新很快,一些新功能新特性有些应用没有及时跟进,就会导致出现问题,比如没有给应用足够的权限而应用也没有弹出提醒······这次遇到的问题也是这个,是因为我没有给该天气应用位置权限造成的,所以当我给了位置权限后,问题迎刃而解~

 

OK,经历到这里就说完了。博主写这篇文章出来其实就是想给那些有此类问题的人一点参考,同时也是提供一下自己的思路,能帮到看到此博文的你那就最好了!很多人看完博文可能会想:这些操作看起来也不麻烦啊,怎么就会消耗你几个小时?对于这个的回答:首先我不可能一直都盯着手机查找问题,中间肯定还要干点别的什么的。而另一个原因,是因为锁屏等待时间(最近恰好装的应用比较多所以排查次数很多)······

本文中提到的一些工具博主觉得都挺不错的,时间问题我还没写博文介绍,留待下次吧(挖个坑埋不埋看情况)。

最后的PS:我的问题和方法不一定适合所有人,所以如果你遇到了类似问题,最好不要只是看我怎么做的,也要学会自己思考哦~

相似文章

12点半

Darkness cannot drive out darkness; only light can do that. Hate cannot drive out hate; only love can do that.

文章评论(2)

  • hkfwl

    我的cm13有显示单个应用的耗电量,排查方便了很多。

    2017年9月18日
    • 12点半

      @hkfwl 是的,但是这个应用耗电的统计有时候并不能完全反映真实情况,所以还需要借助其它的手段来排查。

      2017年9月20日