Android Doze

Doze 模式是 Android 系统自发的一种省电机制:

  • 在屏幕熄灭30分钟、没有晃动并且在不充电的时候,会进入Doze模式

  • 在进入Doze模式后,每间隔一段时间,会进入一段时长为30s的 maintenance window 的窗口期,可以唤醒系统,进行网络交互等等

  • 进入Doze模式后,如果没有退出的话,系统唤醒的间隔时长会越来越长
    当系统处于Doze模式下,系统和白名单之外的应用将受到以下限制:

  • 无法访问网络

  • Wake Locks被忽略

  • AlarmManager闹铃会被推迟到下一个 maintenance window 响应

    • 使用 setAndAllowWhileIdle 或 SetExactAndAllowWhileIdle 设置闹铃的闹钟则不会受到Doze模式的影响
    • setAlarmClock 设置的闹铃在Doze模式下仍然生效,但系统会在闹铃生效前退出Doze
  • 系统不执行Wi-Fi/GPS扫描;

  • 系统不允许同步适配器运行;

  • 系统不允许JobScheduler运行;
    App可以通过 PowerManager.isIgnoringBatteryOptimizations 检查本App是否在系统的白名单列表中。
    如果不在,则可以通过在 AndroidManifest.xml 中添加 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 权限,并且通过发送 ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS 的Intent来向用户申请该权限

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值