health
电池健康状态的信息,这个信息一定程度上反映了这块电池使用了多长时间
plug
充电方式,u***或者插座,以及显示连接的时间
Sync
是否跟后台同步
phone_in_call
是否进行通话
gps
gps是否开启
4
如何进行电量优化?
关键的地方来了 。了解了手机关键耗电的地方及分析耗电的工具后 。接下来就是我们的核心,如何来进行电量的优化呢?首先我们先简单总结汇总一下耗电的相关因素
屏幕亮暗相关
设备awake,sleep的切换,尤其是唤醒.
CPU运行相关
网络
传感器
屏幕亮暗相关
设备awake,sleep的切换,尤其是唤醒.
CPU运行相关
网络
传感器
我们接下来根据因素来逐一进行优化建议 。
(1)点滴积累
我们都知道屏幕的渲染及CPU的运行是耗电的主要因素之一 。所以其实当我们在做内存优化、渲染优化、计算优化的时候,就已然在做电量优化 。
所以平时的开发中,我们要注意点滴性能的优化积累,实际上当我们来做电量分析的时候,也是在找自己挖的坑 。所以尽量有意识在项目的开发过程中尽量少挖坑 。所以这一点是我们在分析其他优化项首先要提到的一个点 。
(2)监听手机充电状态
我们可以通过下面的代码来获取手机的当前充电状态:
在上面的例子演示了如何立即获取到手机的充电状态,得到充电状态信息之后,我们可以有针对性的对部分代码做优化 。比如我们可以判断只有当前手机为AC充电状态时 才去执行一些非常耗电的操作 。
这里我们就需要思考,根据我们自己的业务,那些为了省电,可以放当手机插上电源的时候去做 。
往往这样的情况非常多 。像这些不需要及时地和用户交互的操作可以放到后面处理 。
比如:360手机助手,当充上电的时候,才会自动清理手机垃圾,自动备份上传图片、联系人等到云端;再比如我们自己的APP,其中有一块业务是相册备份,这个时候有一个选项控制让用户选择是否在低于15%的电量时还继续进行备份,从而避免当用户手机低电量时,任然继续进行耗电操作 。
这里我们就需要思考,根据我们自己的业务,那些为了省电,可以放当手机插上电源的时候去做 。
往往这样的情况非常多 。像这些不需要及时地和用户交互的操作可以放到后面处理 。
比如:360手机助手,当充上电的时候,才会自动清理手机垃圾,自动备份上传图片、联系人等到云端;再比如我们自己的APP,其中有一块业务是相册备份,这个时候有一个选项控制让用户选择是否在低于15%的电量时还继续进行备份,从而避免当用户手机低电量时,任然继续进行耗电操作 。
(3)屏幕唤醒
当Android设备空闲时,屏幕会变暗,然后关闭屏幕,较后会停止CPU的运行,这样可以防止电池电量掉的快 。
但有些时候我们需要改变Android系统默认的这种状态:比如玩游戏时我们需要保持屏幕常亮,比如一些下载操作不需要屏幕常亮但需要CPU一直运行直到任务完成 。
保持屏幕常亮
较好的方式是在Activity中使用FLAG_KEEP_SCREEN_ON 的Flag 。
这个方法的好处是不像唤醒锁(wake locks),需要一些特定的权限(permission) 。并且能正确管理不同app之间的切换,不用担心无用资源的释放问题 。
另一个方式是在布局文件中使用android:keepScreenOn属性:
android:keepScreenOn = ” true “的作用和FLAG_KEEP_SCREEN_ON一样 。使用代码的好处是你允许你在需要的地方关闭屏幕 。
注意:一般不需要人为的去掉FLAG_KEEP_SCREEN_ON的flag,windowManager会管理好程序进入后台回到前台的的操作 。
- 如何文件 如何文件到桌面
- 手机如何清除缓存 手机如何清除缓存网站
- 属猪人2018年运势 属猪人2018年运势如何
- 如何获取ip地址 IP地址如何获取
- 如何开淘宝 如何开淘宝省钱月卡
- 幼儿秋季感冒预防 秋季幼儿如何预防感冒
- 续住房如何更换布草 酒店续住房几天换布草
- 表格如何画斜线 表格如何画斜线并写字
- 多肉如何养 立秋后的多肉如何养
- 如何预防医疗事故论文 如何避免医疗事故及医疗损害