节约电量相关的介绍-优化睡眠和应用备用
从Android 6.0(API级别23),Android介绍两个节电功能,通过管理设备没有连接电源时应用的行为:休眠时减少电池消耗通过延迟背景CPU和网络活动时应用设备是闲置很长一段时间。应用备用延缓背景网络活动应用程序的用户最近没有互动。
休眠和应用程序备份管理行为的应用程序运行在Android 6.0或更高版。
1.休眠
如果用户离开设备不插电,静止一段时间,屏幕关闭,设备进入休眠模式。在打盹模式下,系统试图节约电池通过限制应用程序访问网络和cpu密集型服务。它还可以防止应用程序访问网络和延缓他们的工作,同步和标准的警报。
定期,系统退出打瞌睡让应用程序在一段短暂的时间内完成他们的延迟活动。在此维护窗口,系统所有未决同步运行,工作,和警报,允许应用程序访问网络。
在每个维护窗口结束后,系统将再次进入打盹,暂停网络访问和推迟就业,同步和报警。
随着时间的推移,该系统调度维护窗口少频繁,有助于减少电池消耗在长期不活动的情况下,当设备没有连接到充电器。
一旦用户通过移动它,把在屏幕上,或连接充电器唤醒器件,系统退出打盹和所有的应用程序恢复正常活动。
2.休眠的限制
以下限制应用程序打瞌睡:
① 网络访问是暂停
② 系统忽略WakeLock锁(PowerManager内部类)
③ 递延到下一个维护窗口的标准AlarmManager警报(包括setExact()和setWindow())。
a) 如果要在休眠时设置一个警告需要使用setAndAllowWhileIdle() or setExactAndAllowWhileIdle()
b) 系统进入休眠前setAlarmClock()将继续进行
④ 当系统没有进行wifi扫描时
⑤ 系统不允许同步适配器运行
⑥ 系统不允许调用各种系统框架JobScheduler