Android 6.0新特性之Doze模式

简介

从Android 6.0(API level 23)开始,Android提出了两个延长电池使用时间的省电特性给用户。用户管理可以在没有充电的情况下管理app的行为。当用户一段时间没有使用手机的时候,Doze模式通过延缓app后台的CPU和网络活动减少电量的消耗。App Stanbdy延缓用户最近没有使用app的后台网络活动。

Doze和App Stanbdy管理所有在Android6.0+正在运行app的行为。

理解Doze模式

如果一个用户断开了充电连接,关屏不动手机一段时间之后,设备进入Doze模式。在Doze模式中,系统尝试去通过减少应用的网络访问和CPU敏感的服务来保护电池。它也阻止应用通过访问网络,并且延缓应用的任务、同步和标准alarms

系统定期退出Doze模式(maintenance window去让app完成他们被延缓的动作。在maintenance window期间,系统运行所有挂起的同步、任务和alarms,同时也能访问网络。

 

图一:Doze模式提供一个复发的maintenance windowapp去使用网络和处理挂起的操作

在每个maintenance window完结时,系统会再次进入Doze模式,暂停网络接入和延缓操作、同步和alarms。随着时间的过去,当设备没有充电且长时间静止时系统调度maintenance window的次数越来越少,以此帮助减少电池消耗。

只要用户通过移动、点亮屏幕或则插上充电器唤醒设备的时候,系统会退出Doze模式,所有的app退回到正常活动状态。

Doze模式限制

Doze模式中的限制

l 网络接入被暂停

l 系统忽略wake locks

l 标准的AlarmManager alarms(包括setExact()setWindow())被延缓到下一个maintenance window

n 如果你需要在Doze状态下启动设置的alarms,使用setAndAllowWhileIdle()或者setExactAndAllowWhileIdle()

n 当有setAlarmClock()alarms启动时,系统会短暂退出Doze模式

l 系统不会扫描Wi-Fi

l 系统不允许sync adapters运行

l 系统不允许JobScheduler运行

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值