如果确实需要手动清掉常亮的flag,使用getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
所以这里我们自己的APP需要根据业务来控制好是否保持屏幕常量 。比如我们的APP需要支持视频播放 。那么在播放的界面需要控制好不熄屏 。当退出播放时,当然就没有了这个设置 。
所以这里我们自己的APP需要根据业务来控制好是否保持屏幕常量 。比如我们的APP需要支持视频播放 。那么在播放的界面需要控制好不熄屏 。当退出播放时,当然就没有了这个设置 。
(4)WakeLock
wake_lock锁主要是相对系统的休眠而言的,意思就是我的程序给CPU加了这个锁那系统就不会休眠了,这样做的目的是为了全力配合我们程序的运行 。有的情况如果不这么做就会出现一些问题 。
需要使用PowerManager这个系统服务的唤醒锁(wake locks)特征来保持CPU处于唤醒状态 。唤醒锁允许程序控制宿主设备的电量状态 。创建和持有唤醒锁对电池的续航有较大的影响,所以,除非是真的需要唤醒锁完成尽可能短的时间在后***成的任务时才使用它 。比如在Acitivity中就没必要用了 。如果需要关闭屏幕,使用上述的FLAG_KEEP_SCREEN_ON 。
只有一种合理的使用场景,是在使用后台服务在屏幕关闭情况下hold住CPU完成一些工作 。要使用唤醒锁,如果不使用唤醒锁来执行后台服务,不能保证因CPU休眠未来的某个时刻任务会停止,这不是我们想要的 。
【如何设置电脑休眠 如何设置电脑休眠状态】有的人可能认为我以前写的后台服务就没掉过链子呀运行得挺好的,1.可能是你的任务时间比较短;2.可能CPU被手机里面很多其他的软件一直在唤醒状态 。
有的人可能认为我以前写的后台服务就没掉过链子呀运行得挺好的,1.可能是你的任务时间比较短;2.可能CPU被手机里面很多其他的软件一直在唤醒状态 。
唤醒锁可划分为并识别四种用户唤醒锁:
标记值
CPU
屏幕
键盘
PARTIAL_WAKE_LOCK
开启
关闭
关闭
SCREEN_DIM_WAKE_LOCK
开启
变暗
关闭
SCREEN_BRIGHT_WAKE_LOCK
开启
变亮
关闭
FULL_WAKE_LOCK
开启
变亮
变亮
请注意,自 API 等级 17 开始,FULL_WAKE_LOCK 将被弃用 。应用应使用 FLAG_KEEP_SCREEN_ON 。
排名步就是添加唤醒锁权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />
直接使用唤醒锁:
注意:在使用该类的时候,必须保证acquire和release是成对出现的 。不然当我们业务已经不需要时,当CPU处于唤醒状态,这个时候就会损耗多余的电量 。
注意:在使用该类的时候,必须保证acquire和release是成对出现的 。不然当我们业务已经不需要时,当CPU处于唤醒状态,这个时候就会损耗多余的电量 。
(5)JobScheduler
自 Android 5.0 发布以来,JobScheduler 已成为执行后台工作的首选方式,其工作方式有利于用户 。应用可以在安排作业的同时允许系统基于内存、电源和连接情况进行优化 。
JobSchedule的宗旨就是把一些不是特别紧急的任务放到更合适的时机批量处理 。这样做有两个好处:
避免频繁的唤醒硬件模块,造成不必要的电量消耗 。
避免在不合适的时间(例如低电量情况下、弱网络或者移动网络情况下的)执行过多的任务消耗电量;
JobScheduler的简单使用,首先自定义一个Service类,继承自JobService
记得在Manifest文件内配置Service <service android:name=".JobSchedulerService" android:permission="android.permission.BIND_JOB_SERVICE"/>
创建工作计划
- 如何文件 如何文件到桌面
- 手机如何清除缓存 手机如何清除缓存网站
- 属猪人2018年运势 属猪人2018年运势如何
- 如何获取ip地址 IP地址如何获取
- 如何开淘宝 如何开淘宝省钱月卡
- 幼儿秋季感冒预防 秋季幼儿如何预防感冒
- 续住房如何更换布草 酒店续住房几天换布草
- 表格如何画斜线 表格如何画斜线并写字
- 多肉如何养 立秋后的多肉如何养
- 如何预防医疗事故论文 如何避免医疗事故及医疗损害