关于禁止唤醒

禁止唤醒是我开发的一款应用, 它允许用户禁用掉特定应用的唤醒锁. 可以在不影响推送的情况下, 大大降低应用的耗电量. 唤醒锁在 Android 中的滥用十分普遍, 特别是在国内, 各路应用纷纷使用唤醒锁来上传下载资料, 既泄露隐私又耗费电量.

禁止唤醒需要 Xposed 模块以正常工作.

省电原理

Android 系统允许应用使用CPU唤醒锁来使设备在息屏时保持唤醒状态. 然而, 这个机制在国内 Android 应用中的滥用十分普遍. 很多 Android 开发者错误的在网络通信中加入唤醒锁, 然而实际上, 这种做法除了白白消耗电池之外没有任何作用.

禁用唤醒锁通常不会有什么副作用, 对应用本身的功能影响也十分有限. 正确设置”禁止唤醒”可以在不影响微信等消息推送的前提下节省大量后台电量消耗.

使用方法

首先, 启用 Xposed 模块.

Screenshot_2015-10-01-09-21-53

禁止唤醒主要用于应对那些你希望在后台运行的应用. 对于那些不需要在后台运行的应用, 推荐使用绿色守护直接干掉. 对于那些你希望在后台运行, 但是又特别耗电的应用, 使用禁止唤醒来限制它们使用CPU唤醒锁, 以让设备可以正常休眠.

开始之前, 建议先使用 Wakelock Detector 之类的应用查看过度使用唤醒锁的应用.

Screenshot_2015-10-01-08-51-56

然后打开禁止唤醒, 找到你希望禁止的应用.

Screenshot_2015-10-01-09-22-21

然后, 选择你希望禁用的唤醒类型.

如何设置?

CPU唤醒锁: 这是在息屏后阻止你的设备进入休眠状态的唤醒锁, 禁用它通常不会有任何问题.

所有其它唤醒锁: 除了CPU唤醒锁之外, 还有一些唤醒锁可以阻止设备休眠, 甚至阻止设备息屏. 开启这个选项以禁用这些唤醒锁.

同步: 同步也可以唤醒设备, 如果你不需要应用的同步功能, 使用这个选项来禁用掉它.

对齐定时器: (>= Android 4.4) AlarmManager可以使用定时器来周期性的唤醒设备, 阻止CPU进入长期休眠状态. 启用这个选项来强制对齐定时器, 让它们尽量在同一时间触发以节省电量. 请注意: 对于设计不良的应用, 启用此选项有可能会引发推送消息延迟.

99%的用户使用以上四项即可完美控制好应用的唤醒问题. 然而, 如果你希望对禁止唤醒的唤醒锁管理有更精细的控制, 您可以启用以下选项.

应用自定义黑/白名单: 这是一个高级选项, 如果您确定您要使用黑/白名单机制, 请先通过右上角的编辑按钮设置黑白名单. 了解更多黑/白名单信息, 请看下一节.

  • 设置示例: 微信

微信在后台运行时消耗大量电量, 在电池设置中查看微信的耗电量, 发现微信在设备息屏时保持设备唤醒而无法进入休眠状态. 要减少微信的电量消耗, 打开禁止唤醒, 找到微信, 禁用CPU唤醒锁和同步, 保持所有其它选项不更改, 重启设备以应用更改.

微信不会再消耗大量的电量. 更好的是, 微信的推送一如既往的及时准确, 没有任何功能被破坏.

Screenshot_2015-10-01-09-22-28

强行停止对应的应用(如果你只修改了一个应用的设置)或者重启设备(如果你更改了大量应用的设置)以让更改生效.

Screenshot_2016-02-14-00-08-14

就是这样了! 你的设备现在可以好好的”睡一觉”了.

高级设置: 黑/白名单

请注意: 此项设置仅供高级用户使用.

当您针对某个应用启用黑/白名单功能后, 唤醒锁匹配的优先级为 黑名单 > 白名单 > 您的其他设置.

要编辑黑/白名单, 请点击右上角的编辑按钮, 然后在黑名单唤醒锁和白名单唤醒锁两栏下, 分别填入您的黑/白名单信息.

黑/白名单针对唤醒锁的名称进行过滤, 每行一个, 支持正则表达式. 例如, 您看到某个应用正在使用名为 WakeLock:12345 的唤醒锁和名为 WakeLock:abcde 的唤醒锁唤醒设备, 您可以这样填入正则表达式:

WakeLock:\d+
WakeLock:[a-zA-Z]+

请注意, 正则表达式每行有且仅有一个. 请不要插入多余的空行, 这会导致针对此应用的设置完全失效.

立即下载

在 Google Play 下载禁止唤醒: https://play.google.com/store/apps/details?id=com.linangran.nowakelock

在 Google Play 购买捐赠包: https://play.google.com/store/apps/details?id=com.linangran.nowakelock.donation

26 thoughts on “关于禁止唤醒

  1. 阡陌

    博主你好~非常感谢你写的这款良心应用,我已经买了捐赠包以示感激。
    发现最新的微信6.2.5版本我已经禁用了所有的唤醒,可是在Wakelock Detector中发现微信还是会极其频繁地进行cpu唤醒,请问你能看一下是怎么回事吗?其他的app基本都能干掉,就只有这个微信还在继续坑爹了…
    最后还是感谢你的辛勤付出,谢谢!

    Reply
    1. admin Post author

      不可以哦, 捐赠包使用的是一整套 Google Play 的购买和验证机制, 不是有安装包就可以运行的呦.

      Reply
  2. Samson

    我以前在4.4一直在用你的App,特爱你的App。后来升级到5.1,就发觉App没效了,是不是尚未支持Xposed Framework 3.0?

    Reply
    1. admin Post author

      如果你用的是非原版Android的话是有可能的,1.1.0及以后的版本对这个问题进行了针对性修复。

      Reply
  3. KAMIQ

    新版存在一个问题。假设我单独设置一个应用对齐定时,不设置其他三个选项,那么,退出应用回来,应用对其定时又会回到未激活的状态。

    Reply
  4. Leo

    博主你好~~刚才购买了捐赠包来开启系统应用查看!!
    用betterbatterystats发现有个电话服务、蓝牙共享还有Android系统(*alarm*),有过多的wakelock次数,电话和蓝牙已经被我禁止cpu唤醒解决了,请问Android系统(*alarm*)这个也可以禁止cpu唤醒吗??我看你的截图中它的次数也是最多的。。。谢谢!!

    Reply
    1. admin Post author

      显示在"系统"里的最好都别禁, 容易把手机弄乱; alarm是所有应用的定时器总和, 禁不了

      Reply
  5. zohar

    作者你好,我想请问一下你的这个禁止唤醒和amplify是怎么样的一个关系?
    禁止唤醒的禁用是不是就相当于wakelock间隔设置999999?
    我觉得你这个设置比较方便,对应用设置就可以控制所有该应用下的wakelock?
    已购买donationpack,其它唤醒锁指的主要是什么?一般需要禁用吗?(看到你微信的例子没禁用)

    Reply
    1. admin Post author

      一般不需要,如果应用无故自动亮屏,如QQ来消息时会自动亮屏,则可禁用。

      Reply
    1. admin Post author

      现在和以后都不会支持支付宝, 我没有精力处理购买/恢复/退货产生的各种问题. Google Play 可以自己处理好这些问题.

      Reply
  6. kk

    作者您好,感谢您开发的这款应用,我很喜欢它。但有几点建议想提给您参考。我不是开发人员,所说内容可能有较多错误,欢迎指正。

    关于“禁止同步”功能,我测试好像会在锁屏3分钟后生效。但如果这3分钟内因收到消息唤醒了设备,好像又要等3分钟。我担心这样会因为不断收到数据导致该功能失效。实际上,我选择“禁止同步”以后就已经放弃了即时消息,额外延长3分钟好像也不能保证即时消息一定可用。所以,这个等3分钟的设定能否取消呢?或者能否做成可选式的呢?

    关于“禁止唤醒锁”功能,感觉您好像加了一些内置的例外情况。具体我说不清楚,但好像应用把自己设定为“前台”就又可以用唤醒锁了,还有少数应用并不是前台但可以一直使用唤醒锁。我猜想您为了保留最大可用性添加了这些例外,但实际上这些例外造成了我的一些困扰。由于找不到原因,我只好把那几个无法“阻止”的程序加入绿色守护自动终止列表。您能否为这些例外添加一个开关呢?

    我的这些意见仅仅是个人看法,供您参考。如有不同意见,期待您的回复。再次感谢您为我们带来的这款好用的软件。

    Reply
  7. 阿歪

    博主你好 感谢这款好app 用着挺爽 不过我发现美团等app还是禁不了 我暴力把前面4个都禁用了(并无拉入黑名单) 但是还是会被其他app唤醒 请问有解决方法吗

    Reply
    1. admin Post author

      禁止唤醒不解决应用互相启动的问题,禁止唤醒解决的是应用启动之后耗电的问题。

      Reply

Leave a Reply to Leo Cancel reply

Your email address will not be published. Required fields are marked *